
> ## Replication code for "Misinformation and the Justification of Socially Undesirable Preferences"
> ## D.J. Flynn and Yanna Krupnikov
> ## Journal of Experimental Political Science
> 
> ## Note: This file contains code necessary to replicate results presented in the main text and some of the appendix results. 
> ## Additional replication code (in Stata format) can be found in the .do files included in this replication archive (we note 
> ## below where each result is replicated). For an explanation of all files included in the replication folder, 
> ## see "FlynnKrupnikov_README.docx" or contact the corresponding author at <d.j.flynn@dartmouth.edu>.
> 
> ##################
> ### Load data: ###
> ##################
> 
> setwd("~/Dropbox/DJ_Yanna/SSI Data/")
> library(foreign)
> library(readstata13)
> data<-read.dta13("FlynnKrupnikov.dta")
> names(data)
> data<-read.dta13("FlynnKrupnikov.dta")
Warning messages:
1: In read.dta13("FlynnKrupnikov.dta") : 
  djtreat1:
  Missing factor labels - no labels assigned.
  Set option generate.factors=T to generate labels.
2: In read.dta13("FlynnKrupnikov.dta") : 
  djtreat2:
  Missing factor labels - no labels assigned.
  Set option generate.factors=T to generate labels.
3: In read.dta13("FlynnKrupnikov.dta") : 
  djtreat3:
  Missing factor labels - no labels assigned.
  Set option generate.factors=T to generate labels.
> names(data)
 [1] "djtreat1"   "djtreat2"   "djtreat3"   "cand_treat" "corr_treat"
 [6] "favorable"  "govern"     "president"  "leader"     "vote"      
[11] "whitelazy"  "blacklazy"  "whiteint"   "blackint"   "pid1"      
[16] "pid_dem"    "pid_rep"    "ind_lean"   "race"       "spanish"   
[21] "gender"     "educ"       "income"     "ideo"       "interest"  
> 
> ##################
> ### Recoding: ####
> ##################
> library(car)
> 
> ## Treatment indicators ##
> 
> #Type of candidate factor:
> #keep original codes of "cand_treat":
> #1=same party, black
> #2=same party, white
> #3=other party, black
> #4=other party, white
> 
> #Correction factor:
> table(data$corr_treat) #original codes

  Attributed Correction           No Correction Unattributed Correction 
                    264                     384                     383 
> #recode as numeric:
> data$correction<-recode(data$corr_treat,"'No Correction'=1; 'Unattributed Correction'=2; 'Attributed Correction'=3",as.factor.result=FALSE)
> table(data$correction) #new codes: 1=no correction; 2=unattributed correction; 3=attributed ("PolitiCheck") correction

  1   2   3 
384 383 264 
> #create indicator for either correction:
> data$got.treatment<-ifelse(data$correction==2 | data$correction==3, 1, 0)
> table(data$got.treatment,data$correction)
   
      1   2   3
  0 384   0   0
  1   0 383 264
> 
> ## Outcome variables ##
> 
> data$favorable_dv<-data$favorable #1-7
> data$govern_dv<-data$govern #1-7
> data$president_dv<-data$president #1-7
> data$leader_dv<-data$leader #1-7
> data$vote_dv<-recode(data$vote,"1=5;2=4;3=3;4=2;5=1;else=NA",as.factor.result=FALSE) #1-5
> 
> ## Covariates ##
> 
> #keep original codes of data$pid1: 1=Dem, 2=Rep, 3=Ind
> #keep original codes of data$ind_lean: 1=lean Dem, 2=lean Rep, 3=pure ind.
> data$strong.dem<-recode(data$pid_dem,"1=1;2=0;else=NA",as.factor.result=FALSE) #1=strong Dem, 0 otherwise
> data$strong.rep<-recode(data$pid_rep,"1=1;2=0;else=NA",as.factor.result=FALSE) #1=strong Rep, 0 otherwise
> data$white<-recode(data$race,"1=1;2:5=0;else=NA",as.factor.result=FALSE) #1 if yes, 0 otherwise
> data$hispan<-recode(data$spanish,"1=1;2=0;else=NA",as.factor.result=FALSE) #1 if yes, 0 otherwise
> data$female<-recode(data$gender,"2=1;1=0;else=NA",as.factor.result=FALSE) #1 if yes, 0 otherwise
> data$educ<-recode(data$educ,"-99=NA") #1-6 ascending
> data$income<-recode(data$income,"-99=NA") #1-9 ascending
> data$ideo<-recode(data$ideo,"-99=NA") #1-7, lib to conserv
> data$interested<-recode(data$interest,"1=3;2=2;3=1;else=NA",as.factor.result=FALSE) #now 1-3 ascending
> 
> #Racial attitudes questions:
> data$white.lazy<-recode(data$whitelazy,"-99=NA",as.factor.result=FALSE) #1-7 ascending hardworking
> data$black.lazy<-recode(data$blacklazy,"-99=NA",as.factor.result=FALSE) #1-7 ascending hardworking
> data$white.int<-recode(data$whiteint,"-99=NA",as.factor.result=FALSE) #1-7 ascending intelligent
> data$black.int<-recode(data$blackint,"-99=NA",as.factor.result=FALSE) #1-7 ascending intelligent
> 
> ###############################
> ### Creating Prejudice Score ##
> ###############################
> 
> ##Create prejudice score per Piston 2010 Pol. Behav.
> #diff on lazy question
> data$lazy.diff.temp <- data$white.lazy - data$black.lazy
> data$lazy.diff <- (data$lazy.diff.temp+6)/12 #re-scaled 0-1
> #diff on intelligent question
> data$unint.diff.temp <- data$white.int - data$black.int
> data$unint.diff <- (data$unint.diff.temp+6)/12 #re-scaled 0-1
> data$prej.temp <- data$lazy.diff.temp + data$unint.diff.temp
> #final prej. score:
> data$prej.scale <- (data$prej.temp + 12) / 24
> summary(data$prej.scale)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
0.08333 0.50000 0.50000 0.52756 0.54167 1.00000      15 
> hist(data$prej.scale,breaks=14)
> abline(v=median(data$prej.scale,na.rm=T),lwd=4,col="red")
> d<-density(data$prej.scale,na.rm=T)
> plot(d)
> 
> #Creating subsets based on prejudice level: 
> median(data$prej.scale, na.rm=T) #median is 0.5
[1] 0.5
> above.prej.median <- subset(data, prej.scale>0.5) 
> dim(above.prej.median) #n=333
[1] 333  48
> below.prej.median <- subset(data, prej.scale<=0.5) 
> dim(below.prej.median) #n=683
[1] 683  48
> 
> #Creating dummy indicator for above median prejudice level (1) or not (0):
> data$above<-ifelse(data$prej.scale>(median(data$prej.scale,na.rm=T)),1,0)
> table(data$above) #n_low prej=683. n_high prej=333.

  0   1 
683 333 
> 
> ###################################################
> ### Analyses for Table 2 (favorability ratings) ###
> ###################################################
> #See "FlynnKrupnikov_Appendix Tables.do" for code to reproduce diff-in-diff analyses presented in this table
> 
> ## Low prejudice participants (left side of Table 2):
> 
> #Same party, black candidate:
> #no correction vs. either correction: 
> t.test(below.prej.median$favorable_dv[below.prej.median$cand_treat==1 & below.prej.median$correction==1],
+        below.prej.median$favorable_dv[below.prej.median$cand_treat==1 & below.prej.median$correction==2 | 
+                                         below.prej.median$cand_treat==1 & below.prej.median$correction==3],na.rm=T,var.equal=F) #p=.005

	Welch Two Sample t-test

data:  below.prej.median$favorable_dv[below.prej.median$cand_treat ==  and below.prej.median$favorable_dv[below.prej.median$cand_treat ==     1 & below.prej.median$correction == 1] and     1 & below.prej.median$correction == 2 | below.prej.median$cand_treat == below.prej.median$favorable_dv[below.prej.median$cand_treat ==  and     1 & below.prej.median$correction == 3]
t = -2.9249, df = 76.922, p-value = 0.004526
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.3106347 -0.2489017
sample estimates:
mean of x mean of y 
 3.384615  4.164384 

> #Same party, white candidate:
> #no correction vs. either correction: 
> t.test(below.prej.median$favorable_dv[below.prej.median$cand_treat==2 & below.prej.median$correction==1],
+        below.prej.median$favorable_dv[below.prej.median$cand_treat==2 & below.prej.median$correction==2 |
+                                         below.prej.median$cand_treat==2 & below.prej.median$correction==3],na.rm=T,var.equal=F) #p=.004

	Welch Two Sample t-test

data:  below.prej.median$favorable_dv[below.prej.median$cand_treat ==  and below.prej.median$favorable_dv[below.prej.median$cand_treat ==     2 & below.prej.median$correction == 1] and     2 & below.prej.median$correction == 2 | below.prej.median$cand_treat == below.prej.median$favorable_dv[below.prej.median$cand_treat ==  and     2 & below.prej.median$correction == 3]
t = -2.9821, df = 98.013, p-value = 0.003612
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.4046538 -0.2821593
sample estimates:
mean of x mean of y 
 3.321429  4.164835 

> 
> ## High prejudice participants (right side of Table 2):
> 
> #Same party, black candidate:
> #no correction vs. either correction: 
> t.test(above.prej.median$favorable_dv[above.prej.median$cand_treat==1 & above.prej.median$correction==1],
+        above.prej.median$favorable_dv[above.prej.median$cand_treat==1 & above.prej.median$correction==2 | 
+                                         above.prej.median$cand_treat==1 & above.prej.median$correction==3],na.rm=T,var.equal=F) #p=.68

	Welch Two Sample t-test

data:  above.prej.median$favorable_dv[above.prej.median$cand_treat ==  and above.prej.median$favorable_dv[above.prej.median$cand_treat ==     1 & above.prej.median$correction == 1] and     1 & above.prej.median$correction == 2 | above.prej.median$cand_treat == above.prej.median$favorable_dv[above.prej.median$cand_treat ==  and     1 & above.prej.median$correction == 3]
t = -0.42094, df = 29.397, p-value = 0.6769
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.0844191  0.7140487
sample estimates:
mean of x mean of y 
 3.777778  3.962963 

> 
> #Same party, white candidate:
> #no correction vs. either correction: 
> t.test(above.prej.median$favorable_dv[above.prej.median$cand_treat==2 & above.prej.median$correction==1],
+        above.prej.median$favorable_dv[above.prej.median$cand_treat==2 & above.prej.median$correction==2 | 
+                                         above.prej.median$cand_treat==2 & above.prej.median$correction==3],na.rm=T,var.equal=F) #p<.001

	Welch Two Sample t-test

data:  above.prej.median$favorable_dv[above.prej.median$cand_treat ==  and above.prej.median$favorable_dv[above.prej.median$cand_treat ==     2 & above.prej.median$correction == 1] and     2 & above.prej.median$correction == 2 | above.prej.median$cand_treat == above.prej.median$favorable_dv[above.prej.median$cand_treat ==  and     2 & above.prej.median$correction == 3]
t = -4.4015, df = 77.027, p-value = 3.415e-05
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.9595834 -0.7388293
sample estimates:
mean of x mean of y 
 3.028571  4.377778 

> 
> ################
> ### Figure 1 ###
> ################
> 
> ## Create new treatment dummy (0=no correction; 1=received attributed OR unattributed correction):
> below.prej.median$correction.merged<-recode(below.prej.median$correction,"1=0;2:3=1",as.factor.result=F)
> table(below.prej.median$correction.merged)

  0   1 
251 432 
> above.prej.median$correction.merged<-recode(above.prej.median$correction,"1=0;2:3=1",as.factor.result=F)
> table(above.prej.median$correction.merged)

  0   1 
125 208 
> 
> ## Create two sub-plots for favorability ratings among low (left side) and high (right side) prejudice participants:
> par(mfrow=c(1,2)) #sub-plots in 1 row, 2 columns
> # Low Prejudice:
> means_uncorrected <- c(mean(below.prej.median$favorable_dv[below.prej.median$correction.merged==0 & below.prej.median$cand_treat==1],na.rm=T),
+                        mean(below.prej.median$favorable_dv[below.prej.median$correction.merged==0 & below.prej.median$cand_treat==2],na.rm=T),
+                        mean(below.prej.median$favorable_dv[below.prej.median$correction.merged==0 & below.prej.median$cand_treat==3],na.rm=T),
+                        mean(below.prej.median$favorable_dv[below.prej.median$correction.merged==0 & below.prej.median$cand_treat==4],na.rm=T))
> means_uncorrected
[1] 3.384615 3.321429 2.818182 3.206897
> 
> means_corrected <- c(mean(below.prej.median$favorable_dv[below.prej.median$correction.merged==1 & below.prej.median$cand_treat==1],na.rm=T),
+                      mean(below.prej.median$favorable_dv[below.prej.median$correction.merged==1 & below.prej.median$cand_treat==2],na.rm=T),
+                      mean(below.prej.median$favorable_dv[below.prej.median$correction.merged==1 & below.prej.median$cand_treat==3],na.rm=T),
+                      mean(below.prej.median$favorable_dv[below.prej.median$correction.merged==1 & below.prej.median$cand_treat==4],na.rm=T))
> means_corrected
[1] 4.164384 4.164835 3.911392 3.196078
> 
> means<-rbind(means_uncorrected,means_corrected)
> means
                      [,1]     [,2]     [,3]     [,4]
means_uncorrected 3.384615 3.321429 2.818182 3.206897
means_corrected   4.164384 4.164835 3.911392 3.196078
> 
> SE_uncorrected <- c(sd(below.prej.median$favorable_dv[below.prej.median$correction.merged==0 & below.prej.median$cand_treat==1],na.rm=T)/sqrt(length(below.prej.median$favorable_dv[below.prej.median$correction.merged==0 & below.prej.median$cand_treat==1])),
+                     sd(below.prej.median$favorable_dv[below.prej.median$correction.merged==0 & below.prej.median$cand_treat==2],na.rm=T)/sqrt(length(below.prej.median$favorable_dv[below.prej.median$correction.merged==0 & below.prej.median$cand_treat==2])),
+                     sd(below.prej.median$favorable_dv[below.prej.median$correction.merged==0 & below.prej.median$cand_treat==3],na.rm=T)/sqrt(length(below.prej.median$favorable_dv[below.prej.median$correction.merged==0 & below.prej.median$cand_treat==3])),
+                     sd(below.prej.median$favorable_dv[below.prej.median$correction.merged==0 & below.prej.median$cand_treat==4],na.rm=T)/sqrt(length(below.prej.median$favorable_dv[below.prej.median$correction.merged==0 & below.prej.median$cand_treat==4])))
> 
> SE_uncorrected
[1] 0.1384828 0.1669130 0.1413581 0.1454751
> 
> SE_corrected <-c(sd(below.prej.median$favorable_dv[below.prej.median$correction.merged==1 & below.prej.median$cand_treat==1],na.rm=T)/sqrt(length(below.prej.median$favorable_dv[below.prej.median$correction.merged==1 & below.prej.median$cand_treat==1])),
+                  sd(below.prej.median$favorable_dv[below.prej.median$correction.merged==1 & below.prej.median$cand_treat==2],na.rm=T)/sqrt(length(below.prej.median$favorable_dv[below.prej.median$correction.merged==1 & below.prej.median$cand_treat==2])),
+                  sd(below.prej.median$favorable_dv[below.prej.median$correction.merged==1 & below.prej.median$cand_treat==3],na.rm=T)/sqrt(length(below.prej.median$favorable_dv[below.prej.median$correction.merged==1 & below.prej.median$cand_treat==3])),
+                  sd(below.prej.median$favorable_dv[below.prej.median$correction.merged==1 & below.prej.median$cand_treat==4],na.rm=T)/sqrt(length(below.prej.median$favorable_dv[below.prej.median$correction.merged==1 & below.prej.median$cand_treat==4])))
> SE_corrected
[1] 0.1071074 0.1091379 0.1123251 0.1205523
> 
> SE<-rbind(SE_uncorrected,SE_corrected)
> SE
                    [,1]      [,2]      [,3]      [,4]
SE_uncorrected 0.1384828 0.1669130 0.1413581 0.1454751
SE_corrected   0.1071074 0.1091379 0.1123251 0.1205523
> 
> mp <- barplot(means, axes=FALSE, axisnames=FALSE, ylim=c(1, 6),   
+               main="Low Prejudice Participants", xlab="Candidate Type", 
+               ylab="Favorability (1-7)",xpd = FALSE, beside=TRUE,col=c("gray35","gray75"))
> legend("topright", bty="n",c("No Correction","Correction"),fill=c("gray35","gray75"),cex=.75)
> 
> segments(mp, means - 1.96*SE, mp, means + 1.96*SE, lwd=2) #vert bar
> axis(2, at=seq(1, 6, by=1),labels=NULL)
> mtext("Same Party,\nBlack", side=1, line=1, at=2)
> mtext("Same Party,\nWhite", side=1, line=1, at=5)
> mtext("Other Party,\nBlack", side=1, line=1, at=8)
> mtext("Other Party,\nWhite", side=1, line=1, at=11)
> box()
> 
> # High prejudice:
> means_uncorrected <- c(mean(above.prej.median$favorable_dv[above.prej.median$correction.merged==0 & above.prej.median$cand_treat==1],na.rm=T),
+                        mean(above.prej.median$favorable_dv[above.prej.median$correction.merged==0 & above.prej.median$cand_treat==2],na.rm=T),
+                        mean(above.prej.median$favorable_dv[above.prej.median$correction.merged==0 & above.prej.median$cand_treat==3],na.rm=T),
+                        mean(above.prej.median$favorable_dv[above.prej.median$correction.merged==0 & above.prej.median$cand_treat==4],na.rm=T))
> means_uncorrected
[1] 3.777778 3.028571 2.217391 2.333333
> 
> means_corrected <- c(mean(above.prej.median$favorable_dv[above.prej.median$correction.merged==1 & above.prej.median$cand_treat==1],na.rm=T),
+                      mean(above.prej.median$favorable_dv[above.prej.median$correction.merged==1 & above.prej.median$cand_treat==2],na.rm=T),
+                      mean(above.prej.median$favorable_dv[above.prej.median$correction.merged==1 & above.prej.median$cand_treat==3],na.rm=T),
+                      mean(above.prej.median$favorable_dv[above.prej.median$correction.merged==1 & above.prej.median$cand_treat==4],na.rm=T))
> means_corrected
[1] 3.962963 4.377778 3.289474 3.114754
> 
> means<-rbind(means_uncorrected,means_corrected)
> means
                      [,1]     [,2]     [,3]     [,4]
means_uncorrected 3.777778 3.028571 2.217391 2.333333
means_corrected   3.962963 4.377778 3.289474 3.114754
> 
> SE_uncorrected <- c(sd(above.prej.median$favorable_dv[above.prej.median$correction.merged==0 & above.prej.median$cand_treat==1],na.rm=T)/sqrt(length(above.prej.median$favorable_dv[above.prej.median$correction.merged==0 & above.prej.median$cand_treat==1])),
+                     sd(above.prej.median$favorable_dv[above.prej.median$correction.merged==0 & above.prej.median$cand_treat==2],na.rm=T)/sqrt(length(above.prej.median$favorable_dv[above.prej.median$correction.merged==0 & above.prej.median$cand_treat==2])),
+                     sd(above.prej.median$favorable_dv[above.prej.median$correction.merged==0 & above.prej.median$cand_treat==3],na.rm=T)/sqrt(length(above.prej.median$favorable_dv[above.prej.median$correction.merged==0 & above.prej.median$cand_treat==3])),
+                     sd(above.prej.median$favorable_dv[above.prej.median$correction.merged==0 & above.prej.median$cand_treat==4],na.rm=T)/sqrt(length(above.prej.median$favorable_dv[above.prej.median$correction.merged==0 & above.prej.median$cand_treat==4])))
> 
> SE_uncorrected
[1] 0.2815109 0.1780508 0.1619005 0.1870361
> 
> SE_corrected <-c(sd(above.prej.median$favorable_dv[above.prej.median$correction.merged==1 & above.prej.median$cand_treat==1],na.rm=T)/sqrt(length(above.prej.median$favorable_dv[above.prej.median$correction.merged==1 & above.prej.median$cand_treat==1])),
+                  sd(above.prej.median$favorable_dv[above.prej.median$correction.merged==1 & above.prej.median$cand_treat==2],na.rm=T)/sqrt(length(above.prej.median$favorable_dv[above.prej.median$correction.merged==1 & above.prej.median$cand_treat==2])),
+                  sd(above.prej.median$favorable_dv[above.prej.median$correction.merged==1 & above.prej.median$cand_treat==3],na.rm=T)/sqrt(length(above.prej.median$favorable_dv[above.prej.median$correction.merged==1 & above.prej.median$cand_treat==3])),
+                  sd(above.prej.median$favorable_dv[above.prej.median$correction.merged==1 & above.prej.median$cand_treat==4],na.rm=T)/sqrt(length(above.prej.median$favorable_dv[above.prej.median$correction.merged==1 & above.prej.median$cand_treat==4])))
> SE_corrected
[1] 0.1514261 0.1649509 0.1582833 0.1601516
> 
> SE<-rbind(SE_uncorrected,SE_corrected)
> SE
                    [,1]      [,2]      [,3]      [,4]
SE_uncorrected 0.2815109 0.1780508 0.1619005 0.1870361
SE_corrected   0.1514261 0.1649509 0.1582833 0.1601516
> 
> mp <- barplot(means, axes=FALSE, axisnames=FALSE, ylim=c(1, 6),   
+               main="High Prejudice Participants", xlab="Candidate Type", 
+               ylab="Favorability (1-7)",xpd = FALSE, beside=TRUE,col=c("gray35","gray75"))
> legend("topright", bty="n",c("No Correction","Correction"),fill=c("gray35","gray75"),cex=.75)
> 
> segments(mp, means - 1.96*SE, mp, means + 1.96*SE, lwd=2) #vert bar
> axis(2, at=seq(1, 6, by=1),labels=NULL)
> mtext("Same Party,\nBlack", side=1, line=1, at=2)
> mtext("Same Party,\nWhite", side=1, line=1, at=5)
> mtext("Other Party,\nBlack", side=1, line=1, at=8)
> mtext("Other Party,\nWhite", side=1, line=1, at=11)
> box()
> 
> #######################
> ### Appendix Results ##
> #######################
> 
> # Appendix 1 "Table with Additional Details" : sample N at various stages of the CONSORT participant flow was taken from the raw data. See Appendix Table 3C for more information on N by condition and effect size.
> 
> # Appendix Table 2A1: Sample Demographics:
> 
> table(data$pid1) #1=Dem, 2=Rep, 3=Ind

  1   2   3 
387 256 387 
> pct.dem <- 387/length(data$pid1)
> pct.dem
[1] 0.3753637
> 
> pct.rep <- 256/length(data$pid1)
> pct.rep
[1] 0.2483026
> 
> table(data$educ) #5/6=BA or higher

  1   2   3   4   5   6 
 14 201 273 113 273 153 
> pct.BA <- (273+153)/length(data$educ)
> pct.BA
[1] 0.4131911
> 
> table(data$female)

  0   1 
452 573 
> pct.male <- 452/length(data$female)
> pct.male
[1] 0.4384093
> 
> table(data$income)

  1   2   3   4   5   6   7   8   9 
 53  80 129 132 121 213 135 102  63 
> median(data$income, na.rm=T) #$40-50k
[1] 5
> 
> # Appendix Table 3A1 (Multinomial Logit): see "FlynnKrupnikov_Appendix Tables.do"
> 
> # Appendix Table 3A2 (Racial Prejudice Scale): see "FlynnKrupnikov_Appendix Tables.do"
> 
> # Appendix Table 3A3 (Race): see "FlynnKrupnikov_Appendix Tables.do"
> 
> # Appendix Table 3B1 (Predicting Missing Values in Post-Treatment Data): see "FlynnKrupnikov_Appendix Tables.do"
> 
> # Appendix Table 3C1 (Comparisons of Cell Size and Effect): see "FlynnKrupnikov_Table 3C1.xlsx"
> 
> # Appendix Table 4A1 (Mean Favorability Ratings by Experimental Conditions, with Breakdowns by Prejudice Level):
> 
> ##All participants (left panel):
> #same party black candidates:
> mean(data$favorable_dv[data$cand_treat==1 & data$got.treatment==0], na.rm=T)
[1] 3.517241
> sd(data$favorable_dv[data$cand_treat==1 & data$got.treatment==0], na.rm=T)
[1] 1.417205
> mean(data$favorable_dv[data$cand_treat==1 & data$got.treatment==1], na.rm=T)
[1] 4.11
> sd(data$favorable_dv[data$cand_treat==1 & data$got.treatment==1], na.rm=T)
[1] 1.294081
> #same party white candidates:
> mean(data$favorable_dv[data$cand_treat==2 & data$got.treatment==0], na.rm=T)
[1] 3.184783
> sd(data$favorable_dv[data$cand_treat==2 & data$got.treatment==0], na.rm=T)
[1] 1.616735
> mean(data$favorable_dv[data$cand_treat==2 & data$got.treatment==1], na.rm=T)
[1] 4.235294
> sd(data$favorable_dv[data$cand_treat==2 & data$got.treatment==1], na.rm=T)
[1] 1.446504
> #other party black candidates:
> mean(data$favorable_dv[data$cand_treat==3 & data$got.treatment==0], na.rm=T)
[1] 2.571429
> sd(data$favorable_dv[data$cand_treat==3 & data$got.treatment==0], na.rm=T)
[1] 1.233725
> mean(data$favorable_dv[data$cand_treat==3 & data$got.treatment==1], na.rm=T)
[1] 3.709402
> sd(data$favorable_dv[data$cand_treat==3 & data$got.treatment==1], na.rm=T)
[1] 1.432744
> #other party white candidates:
> mean(data$favorable_dv[data$cand_treat==4 & data$got.treatment==0], na.rm=T)
[1] 2.909091
> sd(data$favorable_dv[data$cand_treat==4 & data$got.treatment==0], na.rm=T)
[1] 1.513437
> mean(data$favorable_dv[data$cand_treat==4 & data$got.treatment==1], na.rm=T)
[1] 3.150602
> sd(data$favorable_dv[data$cand_treat==4 & data$got.treatment==1], na.rm=T)
[1] 1.597792
> 
> #Low Prejudice (center panel):
> #same party black candidates:
> mean(below.prej.median$favorable_dv[below.prej.median$cand_treat==1 & below.prej.median$got.treatment==0], na.rm=T)
[1] 3.384615
> sd(below.prej.median$favorable_dv[below.prej.median$cand_treat==1 & below.prej.median$got.treatment==0], na.rm=T)
[1] 1.349764
> mean(below.prej.median$favorable_dv[below.prej.median$cand_treat==1 & below.prej.median$got.treatment==1], na.rm=T)
[1] 4.164384
> sd(below.prej.median$favorable_dv[below.prej.median$cand_treat==1 & below.prej.median$got.treatment==1], na.rm=T)
[1] 1.333476
> #same party white candidates:
> mean(below.prej.median$favorable_dv[below.prej.median$cand_treat==2 & below.prej.median$got.treatment==0], na.rm=T)
[1] 3.321429
> sd(below.prej.median$favorable_dv[below.prej.median$cand_treat==2 & below.prej.median$got.treatment==0], na.rm=T)
[1] 1.789943
> mean(below.prej.median$favorable_dv[below.prej.median$cand_treat==2 & below.prej.median$got.treatment==1], na.rm=T)
[1] 4.164835
> sd(below.prej.median$favorable_dv[below.prej.median$cand_treat==2 & below.prej.median$got.treatment==1], na.rm=T)
[1] 1.439628
> #other party black candidates:
> mean(below.prej.median$favorable_dv[below.prej.median$cand_treat==3 & below.prej.median$got.treatment==0], na.rm=T)
[1] 2.818182
> sd(below.prej.median$favorable_dv[below.prej.median$cand_treat==3 & below.prej.median$got.treatment==0], na.rm=T)
[1] 1.33357
> mean(below.prej.median$favorable_dv[below.prej.median$cand_treat==3 & below.prej.median$got.treatment==1], na.rm=T)
[1] 3.911392
> sd(below.prej.median$favorable_dv[below.prej.median$cand_treat==3 & below.prej.median$got.treatment==1], na.rm=T)
[1] 1.442842
> #other party white candidates:
> mean(below.prej.median$favorable_dv[below.prej.median$cand_treat==4 & below.prej.median$got.treatment==0], na.rm=T)
[1] 3.206897
> sd(below.prej.median$favorable_dv[below.prej.median$cand_treat==4 & below.prej.median$got.treatment==0], na.rm=T)
[1] 1.553249
> mean(below.prej.median$favorable_dv[below.prej.median$cand_treat==4 & below.prej.median$got.treatment==1], na.rm=T)
[1] 3.196078
> sd(below.prej.median$favorable_dv[below.prej.median$cand_treat==4 & below.prej.median$got.treatment==1], na.rm=T)
[1] 1.63525
> 
> #High Prejudice (right panel:)
> #same party black candidates:
> mean(above.prej.median$favorable_dv[above.prej.median$cand_treat==1 & above.prej.median$got.treatment==0], na.rm=T)
[1] 3.777778
> sd(above.prej.median$favorable_dv[above.prej.median$cand_treat==1 & above.prej.median$got.treatment==0], na.rm=T)
[1] 1.592466
> mean(above.prej.median$favorable_dv[above.prej.median$cand_treat==1 & above.prej.median$got.treatment==1], na.rm=T)
[1] 3.962963
> sd(above.prej.median$favorable_dv[above.prej.median$cand_treat==1 & above.prej.median$got.treatment==1], na.rm=T)
[1] 1.192331
> #same party white candidates:
> mean(above.prej.median$favorable_dv[above.prej.median$cand_treat==2 & above.prej.median$got.treatment==0], na.rm=T)
[1] 3.028571
> sd(above.prej.median$favorable_dv[above.prej.median$cand_treat==2 & above.prej.median$got.treatment==0], na.rm=T)
[1] 1.271537
> mean(above.prej.median$favorable_dv[above.prej.median$cand_treat==2 & above.prej.median$got.treatment==1], na.rm=T)
[1] 4.377778
> sd(above.prej.median$favorable_dv[above.prej.median$cand_treat==2 & above.prej.median$got.treatment==1], na.rm=T)
[1] 1.466116
> #other party black candidates:
> mean(above.prej.median$favorable_dv[above.prej.median$cand_treat==3 & above.prej.median$got.treatment==0], na.rm=T)
[1] 2.217391
> sd(above.prej.median$favorable_dv[above.prej.median$cand_treat==3 & above.prej.median$got.treatment==0], na.rm=T)
[1] 0.9980218
> mean(above.prej.median$favorable_dv[above.prej.median$cand_treat==3 & above.prej.median$got.treatment==1], na.rm=T)
[1] 3.289474
> sd(above.prej.median$favorable_dv[above.prej.median$cand_treat==3 & above.prej.median$got.treatment==1], na.rm=T)
[1] 1.333719
> #other party white candidates:
> mean(above.prej.median$favorable_dv[above.prej.median$cand_treat==4 & above.prej.median$got.treatment==0], na.rm=T)
[1] 2.333333
> sd(above.prej.median$favorable_dv[above.prej.median$cand_treat==4 & above.prej.median$got.treatment==0], na.rm=T)
[1] 1.268541
> mean(above.prej.median$favorable_dv[above.prej.median$cand_treat==4 & above.prej.median$got.treatment==1], na.rm=T)
[1] 3.114754
> sd(above.prej.median$favorable_dv[above.prej.median$cand_treat==4 & above.prej.median$got.treatment==1], na.rm=T)
[1] 1.560965
> 
> 
> # Appendix Table 4A2 (Mean Likelihood of Voting for Candidate by Experimental Conditions, with Breakdowns by Prejudice Level):
> 
> ##All participants (left panel):
> #same party black candidates:
> mean(data$vote_dv[data$cand_treat==1 & data$got.treatment==0], na.rm=T)
[1] 2.8
> sd(data$vote_dv[data$cand_treat==1 & data$got.treatment==0], na.rm=T)
[1] 1.021796
> mean(data$vote_dv[data$cand_treat==1 & data$got.treatment==1], na.rm=T)
[1] 3.009804
> sd(data$vote_dv[data$cand_treat==1 & data$got.treatment==1], na.rm=T)
[1] 1.038803
> #same party white candidates:
> mean(data$vote_dv[data$cand_treat==2 & data$got.treatment==0], na.rm=T)
[1] 2.56
> sd(data$vote_dv[data$cand_treat==2 & data$got.treatment==0], na.rm=T)
[1] 1.257864
> mean(data$vote_dv[data$cand_treat==2 & data$got.treatment==1], na.rm=T)
[1] 3.079137
> sd(data$vote_dv[data$cand_treat==2 & data$got.treatment==1], na.rm=T)
[1] 1.142491
> #other party black candidates:
> mean(data$vote_dv[data$cand_treat==3 & data$got.treatment==0], na.rm=T)
[1] 1.967213
> sd(data$vote_dv[data$cand_treat==3 & data$got.treatment==0], na.rm=T)
[1] 1.196762
> mean(data$vote_dv[data$cand_treat==3 & data$got.treatment==1], na.rm=T)
[1] 2.504132
> sd(data$vote_dv[data$cand_treat==3 & data$got.treatment==1], na.rm=T)
[1] 1.155595
> #other party white candidates:
> mean(data$vote_dv[data$cand_treat==4 & data$got.treatment==0], na.rm=T)
[1] 2.217391
> sd(data$vote_dv[data$cand_treat==4 & data$got.treatment==0], na.rm=T)
[1] 1.265138
> mean(data$vote_dv[data$cand_treat==4 & data$got.treatment==1], na.rm=T)
[1] 2.311377
> sd(data$vote_dv[data$cand_treat==4 & data$got.treatment==1], na.rm=T)
[1] 1.260638
> 
> #Low Prejudice (center panel):
> #same party black candidates:
> mean(below.prej.median$vote_dv[below.prej.median$cand_treat==1 & below.prej.median$got.treatment==0], na.rm=T)
[1] 2.707317
> sd(below.prej.median$vote_dv[below.prej.median$cand_treat==1 & below.prej.median$got.treatment==0], na.rm=T)
[1] 0.9809155
> mean(below.prej.median$vote_dv[below.prej.median$cand_treat==1 & below.prej.median$got.treatment==1], na.rm=T)
[1] 3.082192
> sd(below.prej.median$vote_dv[below.prej.median$cand_treat==1 & below.prej.median$got.treatment==1], na.rm=T)
[1] 1.01041
> #same party white candidates:
> mean(below.prej.median$vote_dv[below.prej.median$cand_treat==2 & below.prej.median$got.treatment==0], na.rm=T)
[1] 2.557377
> sd(below.prej.median$vote_dv[below.prej.median$cand_treat==2 & below.prej.median$got.treatment==0], na.rm=T)
[1] 1.310529
> mean(below.prej.median$vote_dv[below.prej.median$cand_treat==2 & below.prej.median$got.treatment==1], na.rm=T)
[1] 3.043478
> sd(below.prej.median$vote_dv[below.prej.median$cand_treat==2 & below.prej.median$got.treatment==1], na.rm=T)
[1] 1.118408
> #other party black candidates:
> mean(below.prej.median$vote_dv[below.prej.median$cand_treat==3 & below.prej.median$got.treatment==0], na.rm=T)
[1] 2.4
> sd(below.prej.median$vote_dv[below.prej.median$cand_treat==3 & below.prej.median$got.treatment==0], na.rm=T)
[1] 1.31059
> mean(below.prej.median$vote_dv[below.prej.median$cand_treat==3 & below.prej.median$got.treatment==1], na.rm=T)
[1] 2.614458
> sd(below.prej.median$vote_dv[below.prej.median$cand_treat==3 & below.prej.median$got.treatment==1], na.rm=T)
[1] 1.197877
> #other party white candidates:
> mean(below.prej.median$vote_dv[below.prej.median$cand_treat==4 & below.prej.median$got.treatment==0], na.rm=T)
[1] 2.4
> sd(below.prej.median$vote_dv[below.prej.median$cand_treat==4 & below.prej.median$got.treatment==0], na.rm=T)
[1] 1.317419
> mean(below.prej.median$vote_dv[below.prej.median$cand_treat==4 & below.prej.median$got.treatment==1], na.rm=T)
[1] 2.362745
> sd(below.prej.median$vote_dv[below.prej.median$cand_treat==4 & below.prej.median$got.treatment==1], na.rm=T)
[1] 1.333418
> 
> #High Prejudice (right panel:)
> #same party black candidates:
> mean(above.prej.median$vote_dv[above.prej.median$cand_treat==1 & above.prej.median$got.treatment==0], na.rm=T)
[1] 3
> sd(above.prej.median$vote_dv[above.prej.median$cand_treat==1 & above.prej.median$got.treatment==0], na.rm=T)
[1] 1.137593
> mean(above.prej.median$vote_dv[above.prej.median$cand_treat==1 & above.prej.median$got.treatment==1], na.rm=T)
[1] 2.827586
> sd(above.prej.median$vote_dv[above.prej.median$cand_treat==1 & above.prej.median$got.treatment==1], na.rm=T)
[1] 1.104179
> #same party white candidates:
> mean(above.prej.median$vote_dv[above.prej.median$cand_treat==2 & above.prej.median$got.treatment==0], na.rm=T)
[1] 2.540541
> sd(above.prej.median$vote_dv[above.prej.median$cand_treat==2 & above.prej.median$got.treatment==0], na.rm=T)
[1] 1.120382
> mean(above.prej.median$vote_dv[above.prej.median$cand_treat==2 & above.prej.median$got.treatment==1], na.rm=T)
[1] 3.152174
> sd(above.prej.median$vote_dv[above.prej.median$cand_treat==2 & above.prej.median$got.treatment==1], na.rm=T)
[1] 1.210462
> #other party black candidates:
> mean(above.prej.median$vote_dv[above.prej.median$cand_treat==3 & above.prej.median$got.treatment==0], na.rm=T)
[1] 1.416667
> sd(above.prej.median$vote_dv[above.prej.median$cand_treat==3 & above.prej.median$got.treatment==0], na.rm=T)
[1] 0.7172815
> mean(above.prej.median$vote_dv[above.prej.median$cand_treat==3 & above.prej.median$got.treatment==1], na.rm=T)
[1] 2.263158
> sd(above.prej.median$vote_dv[above.prej.median$cand_treat==3 & above.prej.median$got.treatment==1], na.rm=T)
[1] 1.031509
> #other party white candidates:
> mean(above.prej.median$vote_dv[above.prej.median$cand_treat==4 & above.prej.median$got.treatment==0], na.rm=T)
[1] 1.875
> sd(above.prej.median$vote_dv[above.prej.median$cand_treat==4 & above.prej.median$got.treatment==0], na.rm=T)
[1] 1.099853
> mean(above.prej.median$vote_dv[above.prej.median$cand_treat==4 & above.prej.median$got.treatment==1], na.rm=T)
[1] 2.225806
> sd(above.prej.median$vote_dv[above.prej.median$cand_treat==4 & above.prej.median$got.treatment==1], na.rm=T)
[1] 1.151184
> 
> 
> # Appendix Table 4A3 (Mean Effective Governor Ratings by Experimental Conditions, with Breakdowns by Prejudice Level):
> 
> ##All participants (left panel):
> #same party black candidates:
> mean(data$govern_dv[data$cand_treat==1 & data$got.treatment==0], na.rm=T)
[1] 3.694915
> sd(data$govern_dv[data$cand_treat==1 & data$got.treatment==0], na.rm=T)
[1] 1.342338
> mean(data$govern_dv[data$cand_treat==1 & data$got.treatment==1], na.rm=T)
[1] 4.188119
> sd(data$govern_dv[data$cand_treat==1 & data$got.treatment==1], na.rm=T)
[1] 1.230552
> #same party white candidates:
> mean(data$govern_dv[data$cand_treat==2 & data$got.treatment==0], na.rm=T)
[1] 3.404255
> sd(data$govern_dv[data$cand_treat==2 & data$got.treatment==0], na.rm=T)
[1] 1.66119
> mean(data$govern_dv[data$cand_treat==2 & data$got.treatment==1], na.rm=T)
[1] 4.248175
> sd(data$govern_dv[data$cand_treat==2 & data$got.treatment==1], na.rm=T)
[1] 1.397377
> #other party black candidates:
> mean(data$govern_dv[data$cand_treat==3 & data$got.treatment==0], na.rm=T)
[1] 2.785714
> sd(data$govern_dv[data$cand_treat==3 & data$got.treatment==0], na.rm=T)
[1] 1.384515
> mean(data$govern_dv[data$cand_treat==3 & data$got.treatment==1], na.rm=T)
[1] 3.720339
> sd(data$govern_dv[data$cand_treat==3 & data$got.treatment==1], na.rm=T)
[1] 1.401377
> #other party white candidates:
> mean(data$govern_dv[data$cand_treat==4 & data$got.treatment==0], na.rm=T)
[1] 3.089888
> sd(data$govern_dv[data$cand_treat==4 & data$got.treatment==0], na.rm=T)
[1] 1.542139
> mean(data$govern_dv[data$cand_treat==4 & data$got.treatment==1], na.rm=T)
[1] 3.325153
> sd(data$govern_dv[data$cand_treat==4 & data$got.treatment==1], na.rm=T)
[1] 1.574815
> 
> #Low Prejudice (center panel):
> #same party black candidates:
> mean(below.prej.median$govern_dv[below.prej.median$cand_treat==1 & below.prej.median$got.treatment==0], na.rm=T)
[1] 3.7
> sd(below.prej.median$govern_dv[below.prej.median$cand_treat==1 & below.prej.median$got.treatment==0], na.rm=T)
[1] 1.324329
> mean(below.prej.median$govern_dv[below.prej.median$cand_treat==1 & below.prej.median$got.treatment==1], na.rm=T)
[1] 4.30137
> sd(below.prej.median$govern_dv[below.prej.median$cand_treat==1 & below.prej.median$got.treatment==1], na.rm=T)
[1] 1.16291
> #same party white candidates:
> mean(below.prej.median$govern_dv[below.prej.median$cand_treat==2 & below.prej.median$got.treatment==0], na.rm=T)
[1] 3.596491
> sd(below.prej.median$govern_dv[below.prej.median$cand_treat==2 & below.prej.median$got.treatment==0], na.rm=T)
[1] 1.84061
> mean(below.prej.median$govern_dv[below.prej.median$cand_treat==2 & below.prej.median$got.treatment==1], na.rm=T)
[1] 4.141304
> sd(below.prej.median$govern_dv[below.prej.median$cand_treat==2 & below.prej.median$got.treatment==1], na.rm=T)
[1] 1.363427
> #other party black candidates:
> mean(below.prej.median$govern_dv[below.prej.median$cand_treat==3 & below.prej.median$got.treatment==0], na.rm=T)
[1] 3.030303
> sd(below.prej.median$govern_dv[below.prej.median$cand_treat==3 & below.prej.median$got.treatment==0], na.rm=T)
[1] 1.489229
> mean(below.prej.median$govern_dv[below.prej.median$cand_treat==3 & below.prej.median$got.treatment==1], na.rm=T)
[1] 3.938272
> sd(below.prej.median$govern_dv[below.prej.median$cand_treat==3 & below.prej.median$got.treatment==1], na.rm=T)
[1] 1.460699
> #other party white candidates:
> mean(below.prej.median$govern_dv[below.prej.median$cand_treat==4 & below.prej.median$got.treatment==0], na.rm=T)
[1] 3.389831
> sd(below.prej.median$govern_dv[below.prej.median$cand_treat==4 & below.prej.median$got.treatment==0], na.rm=T)
[1] 1.564883
> mean(below.prej.median$govern_dv[below.prej.median$cand_treat==4 & below.prej.median$got.treatment==1], na.rm=T)
[1] 3.356436
> sd(below.prej.median$govern_dv[below.prej.median$cand_treat==4 & below.prej.median$got.treatment==1], na.rm=T)
[1] 1.634528
> 
> #High Prejudice (right panel:)
> #same party black candidates:
> mean(above.prej.median$govern_dv[above.prej.median$cand_treat==1 & above.prej.median$got.treatment==0], na.rm=T)
[1] 3.666667
> sd(above.prej.median$govern_dv[above.prej.median$cand_treat==1 & above.prej.median$got.treatment==0], na.rm=T)
[1] 1.455214
> mean(above.prej.median$govern_dv[above.prej.median$cand_treat==1 & above.prej.median$got.treatment==1], na.rm=T)
[1] 3.892857
> sd(above.prej.median$govern_dv[above.prej.median$cand_treat==1 & above.prej.median$got.treatment==1], na.rm=T)
[1] 1.370031
> #same party white candidates:
> mean(above.prej.median$govern_dv[above.prej.median$cand_treat==2 & above.prej.median$got.treatment==0], na.rm=T)
[1] 3.166667
> sd(above.prej.median$govern_dv[above.prej.median$cand_treat==2 & above.prej.median$got.treatment==0], na.rm=T)
[1] 1.276155
> mean(above.prej.median$govern_dv[above.prej.median$cand_treat==2 & above.prej.median$got.treatment==1], na.rm=T)
[1] 4.466667
> sd(above.prej.median$govern_dv[above.prej.median$cand_treat==2 & above.prej.median$got.treatment==1], na.rm=T)
[1] 1.455397
> #other party black candidates:
> mean(above.prej.median$govern_dv[above.prej.median$cand_treat==3 & above.prej.median$got.treatment==0], na.rm=T)
[1] 2.434783
> sd(above.prej.median$govern_dv[above.prej.median$cand_treat==3 & above.prej.median$got.treatment==0], na.rm=T)
[1] 1.160959
> mean(above.prej.median$govern_dv[above.prej.median$cand_treat==3 & above.prej.median$got.treatment==1], na.rm=T)
[1] 3.243243
> sd(above.prej.median$govern_dv[above.prej.median$cand_treat==3 & above.prej.median$got.treatment==1], na.rm=T)
[1] 1.140307
> #other party white candidates:
> mean(above.prej.median$govern_dv[above.prej.median$cand_treat==4 & above.prej.median$got.treatment==0], na.rm=T)
[1] 2.5
> sd(above.prej.median$govern_dv[above.prej.median$cand_treat==4 & above.prej.median$got.treatment==0], na.rm=T)
[1] 1.332615
> mean(above.prej.median$govern_dv[above.prej.median$cand_treat==4 & above.prej.median$got.treatment==1], na.rm=T)
[1] 3.305085
> sd(above.prej.median$govern_dv[above.prej.median$cand_treat==4 & above.prej.median$got.treatment==1], na.rm=T)
[1] 1.500049
> 
> 
> # Appendix Table 4A4 (Mean Effective President Ratings by Experimental Conditions, with Breakdowns by Prejudice Level):
> 
> ##All participants (left panel):
> #same party black candidates:
> mean(data$president_dv[data$cand_treat==1 & data$got.treatment==0], na.rm=T)
[1] 3.310345
> sd(data$president_dv[data$cand_treat==1 & data$got.treatment==0], na.rm=T)
[1] 1.489223
> mean(data$president_dv[data$cand_treat==1 & data$got.treatment==1], na.rm=T)
[1] 3.722772
> sd(data$president_dv[data$cand_treat==1 & data$got.treatment==1], na.rm=T)
[1] 1.349954
> #same party white candidates:
> mean(data$president_dv[data$cand_treat==2 & data$got.treatment==0], na.rm=T)
[1] 3.076923
> sd(data$president_dv[data$cand_treat==2 & data$got.treatment==0], na.rm=T)
[1] 1.688068
> mean(data$president_dv[data$cand_treat==2 & data$got.treatment==1], na.rm=T)
[1] 3.978102
> sd(data$president_dv[data$cand_treat==2 & data$got.treatment==1], na.rm=T)
[1] 1.536168
> #other party black candidates:
> mean(data$president_dv[data$cand_treat==3 & data$got.treatment==0], na.rm=T)
[1] 2.392857
> sd(data$president_dv[data$cand_treat==3 & data$got.treatment==0], na.rm=T)
[1] 1.302844
> mean(data$president_dv[data$cand_treat==3 & data$got.treatment==1], na.rm=T)
[1] 3.252174
> sd(data$president_dv[data$cand_treat==3 & data$got.treatment==1], na.rm=T)
[1] 1.431742
> #other party white candidates:
> mean(data$president_dv[data$cand_treat==4 & data$got.treatment==0], na.rm=T)
[1] 2.88764
> sd(data$president_dv[data$cand_treat==4 & data$got.treatment==0], na.rm=T)
[1] 1.668139
> mean(data$president_dv[data$cand_treat==4 & data$got.treatment==1], na.rm=T)
[1] 3.012579
> sd(data$president_dv[data$cand_treat==4 & data$got.treatment==1], na.rm=T)
[1] 1.571049
> 
> #Low Prejudice (center panel):
> #same party black candidates:
> mean(below.prej.median$president_dv[below.prej.median$cand_treat==1 & below.prej.median$got.treatment==0], na.rm=T)
[1] 3.333333
> sd(below.prej.median$president_dv[below.prej.median$cand_treat==1 & below.prej.median$got.treatment==0], na.rm=T)
[1] 1.474937
> mean(below.prej.median$president_dv[below.prej.median$cand_treat==1 & below.prej.median$got.treatment==1], na.rm=T)
[1] 3.931507
> sd(below.prej.median$president_dv[below.prej.median$cand_treat==1 & below.prej.median$got.treatment==1], na.rm=T)
[1] 1.336754
> #same party white candidates:
> mean(below.prej.median$president_dv[below.prej.median$cand_treat==2 & below.prej.median$got.treatment==0], na.rm=T)
[1] 3.309091
> sd(below.prej.median$president_dv[below.prej.median$cand_treat==2 & below.prej.median$got.treatment==0], na.rm=T)
[1] 1.834573
> mean(below.prej.median$president_dv[below.prej.median$cand_treat==2 & below.prej.median$got.treatment==1], na.rm=T)
[1] 3.902174
> sd(below.prej.median$president_dv[below.prej.median$cand_treat==2 & below.prej.median$got.treatment==1], na.rm=T)
[1] 1.541084
> #other party black candidates:
> mean(below.prej.median$president_dv[below.prej.median$cand_treat==3 & below.prej.median$got.treatment==0], na.rm=T)
[1] 2.757576
> sd(below.prej.median$president_dv[below.prej.median$cand_treat==3 & below.prej.median$got.treatment==0], na.rm=T)
[1] 1.414883
> mean(below.prej.median$president_dv[below.prej.median$cand_treat==3 & below.prej.median$got.treatment==1], na.rm=T)
[1] 3.518987
> sd(below.prej.median$president_dv[below.prej.median$cand_treat==3 & below.prej.median$got.treatment==1], na.rm=T)
[1] 1.483765
> #other party white candidates:
> mean(below.prej.median$president_dv[below.prej.median$cand_treat==4 & below.prej.median$got.treatment==0], na.rm=T)
[1] 3.224138
> sd(below.prej.median$president_dv[below.prej.median$cand_treat==4 & below.prej.median$got.treatment==0], na.rm=T)
[1] 1.633456
> mean(below.prej.median$president_dv[below.prej.median$cand_treat==4 & below.prej.median$got.treatment==1], na.rm=T)
[1] 3.10101
> sd(below.prej.median$president_dv[below.prej.median$cand_treat==4 & below.prej.median$got.treatment==1], na.rm=T)
[1] 1.606714
> 
> #High Prejudice (right panel:)
> #same party black candidates:
> mean(above.prej.median$president_dv[above.prej.median$cand_treat==1 & above.prej.median$got.treatment==0], na.rm=T)
[1] 3.222222
> sd(above.prej.median$president_dv[above.prej.median$cand_treat==1 & above.prej.median$got.treatment==0], na.rm=T)
[1] 1.592466
> mean(above.prej.median$president_dv[above.prej.median$cand_treat==1 & above.prej.median$got.treatment==1], na.rm=T)
[1] 3.178571
> sd(above.prej.median$president_dv[above.prej.median$cand_treat==1 & above.prej.median$got.treatment==1], na.rm=T)
[1] 1.248809
> #same party white candidates:
> mean(above.prej.median$president_dv[above.prej.median$cand_treat==2 & above.prej.median$got.treatment==0], na.rm=T)
[1] 2.771429
> sd(above.prej.median$president_dv[above.prej.median$cand_treat==2 & above.prej.median$got.treatment==0], na.rm=T)
[1] 1.373825
> mean(above.prej.median$president_dv[above.prej.median$cand_treat==2 & above.prej.median$got.treatment==1], na.rm=T)
[1] 4.133333
> sd(above.prej.median$president_dv[above.prej.median$cand_treat==2 & above.prej.median$got.treatment==1], na.rm=T)
[1] 1.531488
> #other party black candidates:
> mean(above.prej.median$president_dv[above.prej.median$cand_treat==3 & above.prej.median$got.treatment==0], na.rm=T)
[1] 1.869565
> sd(above.prej.median$president_dv[above.prej.median$cand_treat==3 & above.prej.median$got.treatment==0], na.rm=T)
[1] 0.9197009
> mean(above.prej.median$president_dv[above.prej.median$cand_treat==3 & above.prej.median$got.treatment==1], na.rm=T)
[1] 2.666667
> sd(above.prej.median$president_dv[above.prej.median$cand_treat==3 & above.prej.median$got.treatment==1], na.rm=T)
[1] 1.121224
> #other party white candidates:
> mean(above.prej.median$president_dv[above.prej.median$cand_treat==4 & above.prej.median$got.treatment==0], na.rm=T)
[1] 2.258065
> sd(above.prej.median$president_dv[above.prej.median$cand_treat==4 & above.prej.median$got.treatment==0], na.rm=T)
[1] 1.569878
> mean(above.prej.median$president_dv[above.prej.median$cand_treat==4 & above.prej.median$got.treatment==1], na.rm=T)
[1] 2.912281
> sd(above.prej.median$president_dv[above.prej.median$cand_treat==4 & above.prej.median$got.treatment==1], na.rm=T)
[1] 1.52691
> 
> # Appendix Table 4A5 (Mean Leadership Ratings by Experimental Conditions, with Breakdowns by Prejudice Level): see "FlynnKrupnikov_Appendix Tables.do"
> 
> ##All participants (left panel):
> #same party black candidates:
> mean(data$leader_dv[data$cand_treat==1 & data$got.treatment==0], na.rm=T)
[1] 3.728814
> sd(data$leader_dv[data$cand_treat==1 & data$got.treatment==0], na.rm=T)
[1] 1.37503
> mean(data$leader_dv[data$cand_treat==1 & data$got.treatment==1], na.rm=T)
[1] 4.089109
> sd(data$leader_dv[data$cand_treat==1 & data$got.treatment==1], na.rm=T)
[1] 1.386355
> #same party white candidates:
> mean(data$leader_dv[data$cand_treat==2 & data$got.treatment==0], na.rm=T)
[1] 3.355556
> sd(data$leader_dv[data$cand_treat==2 & data$got.treatment==0], na.rm=T)
[1] 1.711239
> mean(data$leader_dv[data$cand_treat==2 & data$got.treatment==1], na.rm=T)
[1] 4.255474
> sd(data$leader_dv[data$cand_treat==2 & data$got.treatment==1], na.rm=T)
[1] 1.495234
> #other party black candidates:
> mean(data$leader_dv[data$cand_treat==3 & data$got.treatment==0], na.rm=T)
[1] 2.678571
> sd(data$leader_dv[data$cand_treat==3 & data$got.treatment==0], na.rm=T)
[1] 1.428377
> mean(data$leader_dv[data$cand_treat==3 & data$got.treatment==1], na.rm=T)
[1] 3.813559
> sd(data$leader_dv[data$cand_treat==3 & data$got.treatment==1], na.rm=T)
[1] 1.52444
> #other party white candidates:
> mean(data$leader_dv[data$cand_treat==4 & data$got.treatment==0], na.rm=T)
[1] 3.159091
> sd(data$leader_dv[data$cand_treat==4 & data$got.treatment==0], na.rm=T)
[1] 1.687591
> mean(data$leader_dv[data$cand_treat==4 & data$got.treatment==1], na.rm=T)
[1] 3.37037
> sd(data$leader_dv[data$cand_treat==4 & data$got.treatment==1], na.rm=T)
[1] 1.535861
> 
> #Low Prejudice (center panel):
> #same party black candidates:
> mean(below.prej.median$leader_dv[below.prej.median$cand_treat==1 & below.prej.median$got.treatment==0], na.rm=T)
[1] 3.8
> sd(below.prej.median$leader_dv[below.prej.median$cand_treat==1 & below.prej.median$got.treatment==0], na.rm=T)
[1] 1.362501
> mean(below.prej.median$leader_dv[below.prej.median$cand_treat==1 & below.prej.median$got.treatment==1], na.rm=T)
[1] 4.205479
> sd(below.prej.median$leader_dv[below.prej.median$cand_treat==1 & below.prej.median$got.treatment==1], na.rm=T)
[1] 1.322444
> #same party white candidates:
> mean(below.prej.median$leader_dv[below.prej.median$cand_treat==2 & below.prej.median$got.treatment==0], na.rm=T)
[1] 3.509434
> sd(below.prej.median$leader_dv[below.prej.median$cand_treat==2 & below.prej.median$got.treatment==0], na.rm=T)
[1] 1.937709
> mean(below.prej.median$leader_dv[below.prej.median$cand_treat==2 & below.prej.median$got.treatment==1], na.rm=T)
[1] 4.130435
> sd(below.prej.median$leader_dv[below.prej.median$cand_treat==2 & below.prej.median$got.treatment==1], na.rm=T)
[1] 1.446613
> #other party black candidates:
> mean(below.prej.median$leader_dv[below.prej.median$cand_treat==3 & below.prej.median$got.treatment==0], na.rm=T)
[1] 3.030303
> sd(below.prej.median$leader_dv[below.prej.median$cand_treat==3 & below.prej.median$got.treatment==0], na.rm=T)
[1] 1.570924
> mean(below.prej.median$leader_dv[below.prej.median$cand_treat==3 & below.prej.median$got.treatment==1], na.rm=T)
[1] 4.0375
> sd(below.prej.median$leader_dv[below.prej.median$cand_treat==3 & below.prej.median$got.treatment==1], na.rm=T)
[1] 1.633849
> #other party white candidates:
> mean(below.prej.median$leader_dv[below.prej.median$cand_treat==4 & below.prej.median$got.treatment==0], na.rm=T)
[1] 3.423729
> sd(below.prej.median$leader_dv[below.prej.median$cand_treat==4 & below.prej.median$got.treatment==0], na.rm=T)
[1] 1.714073
> mean(below.prej.median$leader_dv[below.prej.median$cand_treat==4 & below.prej.median$got.treatment==1], na.rm=T)
[1] 3.4
> sd(below.prej.median$leader_dv[below.prej.median$cand_treat==4 & below.prej.median$got.treatment==1], na.rm=T)
[1] 1.483921
> 
> #High Prejudice (right panel:)
> #same party black candidates:
> mean(above.prej.median$leader_dv[above.prej.median$cand_treat==1 & above.prej.median$got.treatment==0], na.rm=T)
[1] 3.555556
> sd(above.prej.median$leader_dv[above.prej.median$cand_treat==1 & above.prej.median$got.treatment==0], na.rm=T)
[1] 1.464169
> mean(above.prej.median$leader_dv[above.prej.median$cand_treat==1 & above.prej.median$got.treatment==1], na.rm=T)
[1] 3.785714
> sd(above.prej.median$leader_dv[above.prej.median$cand_treat==1 & above.prej.median$got.treatment==1], na.rm=T)
[1] 1.524058
> #same party white candidates:
> mean(above.prej.median$leader_dv[above.prej.median$cand_treat==2 & above.prej.median$got.treatment==0], na.rm=T)
[1] 3.194444
> sd(above.prej.median$leader_dv[above.prej.median$cand_treat==2 & above.prej.median$got.treatment==0], na.rm=T)
[1] 1.283287
> mean(above.prej.median$leader_dv[above.prej.median$cand_treat==2 & above.prej.median$got.treatment==1], na.rm=T)
[1] 4.511111
> sd(above.prej.median$leader_dv[above.prej.median$cand_treat==2 & above.prej.median$got.treatment==1], na.rm=T)
[1] 1.575699
> #other party black candidates:
> mean(above.prej.median$leader_dv[above.prej.median$cand_treat==3 & above.prej.median$got.treatment==0], na.rm=T)
[1] 2.173913
> sd(above.prej.median$leader_dv[above.prej.median$cand_treat==3 & above.prej.median$got.treatment==0], na.rm=T)
[1] 1.029217
> mean(above.prej.median$leader_dv[above.prej.median$cand_treat==3 & above.prej.median$got.treatment==1], na.rm=T)
[1] 3.342105
> sd(above.prej.median$leader_dv[above.prej.median$cand_treat==3 & above.prej.median$got.treatment==1], na.rm=T)
[1] 1.145528
> #other party white candidates:
> mean(above.prej.median$leader_dv[above.prej.median$cand_treat==4 & above.prej.median$got.treatment==0], na.rm=T)
[1] 2.62069
> sd(above.prej.median$leader_dv[above.prej.median$cand_treat==4 & above.prej.median$got.treatment==0], na.rm=T)
[1] 1.521601
> mean(above.prej.median$leader_dv[above.prej.median$cand_treat==4 & above.prej.median$got.treatment==1], na.rm=T)
[1] 3.372881
> sd(above.prej.median$leader_dv[above.prej.median$cand_treat==4 & above.prej.median$got.treatment==1], na.rm=T)
[1] 1.628394
> 
> # Appendix Table 4B1 (Mean Favorability Ratings by Experimental Condition, with Breakdowns by Prejudice Level and D-I-D Comparisons): see "FlynnKrupnikov_Appendix Tables.do"
> 
> # Appendix Table 4B2 (Mean Likelihoood of Voting for Candidate by Experimental Condition, with Breakdowns by Prejudice Level and D-I-D Comparisons): see "FlynnKrupnikov_Appendix Tables.do"
> 
> # Appendix Table 4B3 (Mean Effective Governor Ratings by Experimental Condition, with Breakdowns by Prejudice Level and D-I-D Comparisons): see "FlynnKrupnikov_Appendix Tables.do"
> 
> # Appendix Table 4B4 (Mean Effective President Ratings by Experimental Condition, with Breakdowns by Prejudice Level and D-I-D Comparisons): see "FlynnKrupnikov_Appendix Tables.do"
> 
> # Appendix Table 4B5 (Mean Leadership Ratings by Experimental Condition, with Breakdowns by Prejudice Level and D-I-D Comparisons): see "FlynnKrupnikov_Appendix Tables.do"
> 
> # Appendix Table 4C1 (Comparisons within Correction Condition): see "FlynnKrupnikov_Appendix Tables.do"
> 
> # Appendix Table 4D1 (Weak Partisans, High Prejudice): see "FlynnKrupnikov_Appendix Tables.do"
> 
> # Appendix Table 4E1 (Robustness Check: Effect of Attributed Correction on Candidate Evaluations, by Type of Candidate and Prejudice Level):  see "FlynnKrupnikov_Appendix Tables.do"
> 
> # Appendix Table 4E2 (Robustness Check: Effect of Unattributed Correction on Candidate Evaluations, by Type of Candidate and Prejudice Level): see "FlynnKrupnikov_Appendix Tables.do"
> 
> # Appendix Table 4F1 (Triple Interaction Models (Low Prejudice Participants)):
> 
> #create separate race/party/correction variables in low prejudice Rs subset:
> below.prej.median$cand_black<-recode(below.prej.median$cand_treat,"1=1;2=0;3=1;4=0;else=NA",as.factor.result=F)
> table(below.prej.median$cand_black, below.prej.median$cand_treat) #check coding
   
      1   2   3   4
  0   0 153   0 162
  1 114   0 118   0
> below.prej.median$cand_sameparty<-recode(below.prej.median$cand_treat,"1=1;2=1;3=0;4=0;else=NA",as.factor.result=F)
> table(below.prej.median$cand_sameparty, below.prej.median$cand_treat) #check coding
   
      1   2   3   4
  0   0   0 118 162
  1 114 153   0   0
> below.prej.median$got.treatment<-ifelse(below.prej.median$correction==2 | below.prej.median$correction==3, 1, 0)
> table(below.prej.median$correction,below.prej.median$got.treatment)
   
      0   1
  1 251   0
  2   0 248
  3   0 184
> 
> triple.low1<-lm(favorable_dv~cand_black*cand_sameparty*got.treatment,data=below.prej.median)
> summary(triple.low1) #column 2

Call:
lm(formula = favorable_dv ~ cand_black * cand_sameparty * got.treatment, 
    data = below.prej.median)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1648 -1.1961 -0.1644  0.8352  3.8039 

Coefficients:
                                        Estimate Std. Error t value
(Intercept)                              3.20690    0.19781  16.212
cand_black                              -0.38871    0.32848  -1.183
cand_sameparty                           0.11453    0.28223   0.406
got.treatment                           -0.01082    0.24774  -0.044
cand_black:cand_sameparty                0.45190    0.45454   0.994
cand_black:got.treatment                 1.10403    0.39859   2.770
cand_sameparty:got.treatment             0.85422    0.35614   2.399
cand_black:cand_sameparty:got.treatment -1.16767    0.56001  -2.085
                                        Pr(>|t|)    
(Intercept)                              < 2e-16 ***
cand_black                               0.23719    
cand_sameparty                           0.68504    
got.treatment                            0.96519    
cand_black:cand_sameparty                0.32059    
cand_black:got.treatment                 0.00581 ** 
cand_sameparty:got.treatment             0.01681 *  
cand_black:cand_sameparty:got.treatment  0.03755 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.506 on 523 degrees of freedom
  (152 observations deleted due to missingness)
Multiple R-squared:  0.08612,	Adjusted R-squared:  0.07389 
F-statistic: 7.041 on 7 and 523 DF,  p-value: 4.823e-08

> triple.low2<-lm(vote_dv~cand_black*cand_sameparty*got.treatment,data=below.prej.median)
> summary(triple.low2) #column 3

Call:
lm(formula = vote_dv ~ cand_black * cand_sameparty * got.treatment, 
    data = below.prej.median)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.08219 -1.36275 -0.04348  0.63725  2.63725 

Coefficients:
                                          Estimate Std. Error t value
(Intercept)                              2.400e+00  1.560e-01  15.386
cand_black                               3.105e-15  2.570e-01   0.000
cand_sameparty                           1.574e-01  2.197e-01   0.716
got.treatment                           -3.725e-02  1.966e-01  -0.190
cand_black:cand_sameparty                1.499e-01  3.544e-01   0.423
cand_black:got.treatment                 2.517e-01  3.130e-01   0.804
cand_sameparty:got.treatment             5.234e-01  2.801e-01   1.869
cand_black:cand_sameparty:got.treatment -3.629e-01  4.397e-01  -0.825
                                        Pr(>|t|)    
(Intercept)                               <2e-16 ***
cand_black                                1.0000    
cand_sameparty                            0.4741    
got.treatment                             0.8498    
cand_black:cand_sameparty                 0.6724    
cand_black:got.treatment                  0.4216    
cand_sameparty:got.treatment              0.0622 .  
cand_black:cand_sameparty:got.treatment   0.4095    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.208 on 539 degrees of freedom
  (136 observations deleted due to missingness)
Multiple R-squared:  0.05166,	Adjusted R-squared:  0.03934 
F-statistic: 4.194 on 7 and 539 DF,  p-value: 0.0001626

> triple.low3<-lm(govern_dv~cand_black*cand_sameparty*got.treatment,data=below.prej.median)
> summary(triple.low3) #column 4

Call:
lm(formula = govern_dv ~ cand_black * cand_sameparty * got.treatment, 
    data = below.prej.median)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.3014 -1.0303 -0.0303  0.6986  3.6436 

Coefficients:
                                        Estimate Std. Error t value
(Intercept)                              3.38983    0.19425  17.450
cand_black                              -0.35953    0.32435  -1.108
cand_sameparty                           0.20666    0.27712   0.746
got.treatment                           -0.03339    0.24450  -0.137
cand_black:cand_sameparty                0.46304    0.44712   1.036
cand_black:got.treatment                 0.94136    0.39336   2.393
cand_sameparty:got.treatment             0.57821    0.35077   1.648
cand_black:cand_sameparty:got.treatment -0.88481    0.55149  -1.604
                                        Pr(>|t|)    
(Intercept)                               <2e-16 ***
cand_black                                0.2682    
cand_sameparty                            0.4561    
got.treatment                             0.8914    
cand_black:cand_sameparty                 0.3009    
cand_black:got.treatment                  0.0171 *  
cand_sameparty:got.treatment              0.0999 .  
cand_black:cand_sameparty:got.treatment   0.1092    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.492 on 528 degrees of freedom
  (147 observations deleted due to missingness)
Multiple R-squared:  0.06443,	Adjusted R-squared:  0.05203 
F-statistic: 5.195 on 7 and 528 DF,  p-value: 9.695e-06

> triple.low4<-lm(president_dv~cand_black*cand_sameparty*got.treatment,data=below.prej.median)
> summary(triple.low4) #column 5

Call:
lm(formula = president_dv ~ cand_black * cand_sameparty * got.treatment, 
    data = below.prej.median)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9315 -1.1010  0.0685  0.8990  3.8990 

Coefficients:
                                        Estimate Std. Error t value
(Intercept)                              3.22414    0.20359  15.837
cand_black                              -0.46656    0.33807  -1.380
cand_sameparty                           0.08495    0.29181   0.291
got.treatment                           -0.12313    0.25638  -0.480
cand_black:cand_sameparty                0.49080    0.46866   1.047
cand_black:got.treatment                 0.88454    0.41110   2.152
cand_sameparty:got.treatment             0.71621    0.36819   1.945
cand_black:cand_sameparty:got.treatment -0.87945    0.57742  -1.523
                                        Pr(>|t|)    
(Intercept)                               <2e-16 ***
cand_black                                0.1682    
cand_sameparty                            0.7711    
got.treatment                             0.6312    
cand_black:cand_sameparty                 0.2955    
cand_black:got.treatment                  0.0319 *  
cand_sameparty:got.treatment              0.0523 .  
cand_black:cand_sameparty:got.treatment   0.1283    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.55 on 520 degrees of freedom
  (155 observations deleted due to missingness)
Multiple R-squared:  0.052,	Adjusted R-squared:  0.03924 
F-statistic: 4.075 on 7 and 520 DF,  p-value: 0.000229

> 
> # Appendix Table 4F2 (Triple Interaction Models (High Prejudice Participants)):
> 
> #create separate race/party/correction variables in high prejudice Rs subset:
> above.prej.median$cand_black<-recode(above.prej.median$cand_treat,"1=1;2=0;3=1;4=0;else=NA",as.factor.result=F)
> table(above.prej.median$cand_black, above.prej.median$cand_treat) #check coding
   
     1  2  3  4
  0  0 83  0 94
  1 47  0 62  0
> above.prej.median$cand_sameparty<-recode(above.prej.median$cand_treat,"1=1;2=1;3=0;4=0;else=NA",as.factor.result=F)
> table(above.prej.median$cand_sameparty, above.prej.median$cand_treat) #check coding
   
     1  2  3  4
  0  0  0 62 94
  1 47 83  0  0
> above.prej.median$got.treatment<-ifelse(above.prej.median$correction==2 | above.prej.median$correction==3, 1, 0)
> table(above.prej.median$correction,above.prej.median$got.treatment)
   
      0   1
  1 125   0
  2   0 131
  3   0  77
> 
> triple.high1<-lm(favorable_dv~cand_black*cand_sameparty*got.treatment,data=above.prej.median)
> summary(triple.high1) #column 2

Call:
lm(formula = favorable_dv ~ cand_black * cand_sameparty * got.treatment, 
    data = above.prej.median)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.3778 -1.1148 -0.1148  0.8852  3.8852 

Coefficients:
                                        Estimate Std. Error t value
(Intercept)                               2.3333     0.2514   9.280
cand_black                               -0.1159     0.3817  -0.304
cand_sameparty                            0.6952     0.3427   2.029
got.treatment                             0.7814     0.3071   2.544
cand_black:cand_sameparty                 0.8651     0.5525   1.566
cand_black:got.treatment                  0.2907     0.4761   0.610
cand_sameparty:got.treatment              0.5678     0.4366   1.300
cand_black:cand_sameparty:got.treatment  -1.4547     0.7062  -2.060
                                        Pr(>|t|)    
(Intercept)                               <2e-16 ***
cand_black                                0.7615    
cand_sameparty                            0.0434 *  
got.treatment                             0.0115 *  
cand_black:cand_sameparty                 0.1186    
cand_black:got.treatment                  0.5421    
cand_sameparty:got.treatment              0.1946    
cand_black:cand_sameparty:got.treatment   0.0404 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.377 on 269 degrees of freedom
  (56 observations deleted due to missingness)
Multiple R-squared:  0.2005,	Adjusted R-squared:  0.1796 
F-statistic: 9.634 on 7 and 269 DF,  p-value: 1.081e-10

> triple.high2<-lm(vote_dv~cand_black*cand_sameparty*got.treatment,data=above.prej.median)
> summary(triple.high2) #column 3

Call:
lm(formula = vote_dv ~ cand_black * cand_sameparty * got.treatment, 
    data = above.prej.median)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.1522 -0.8750 -0.1522  0.7742  2.7742 

Coefficients:
                                        Estimate Std. Error t value
(Intercept)                               1.8750     0.1946   9.636
cand_black                               -0.4583     0.2972  -1.542
cand_sameparty                            0.6655     0.2657   2.505
got.treatment                             0.3508     0.2396   1.464
cand_black:cand_sameparty                 0.9178     0.4340   2.115
cand_black:got.treatment                  0.4957     0.3738   1.326
cand_sameparty:got.treatment              0.2608     0.3413   0.764
cand_black:cand_sameparty:got.treatment  -1.2797     0.5549  -2.306
                                        Pr(>|t|)    
(Intercept)                               <2e-16 ***
cand_black                                0.1242    
cand_sameparty                            0.0128 *  
got.treatment                             0.1443    
cand_black:cand_sameparty                 0.0354 *  
cand_black:got.treatment                  0.1860    
cand_sameparty:got.treatment              0.4454    
cand_black:cand_sameparty:got.treatment   0.0218 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.101 on 278 degrees of freedom
  (47 observations deleted due to missingness)
Multiple R-squared:  0.1781,	Adjusted R-squared:  0.1575 
F-statistic: 8.608 on 7 and 278 DF,  p-value: 1.476e-09

> triple.high3<-lm(govern_dv~cand_black*cand_sameparty*got.treatment,data=above.prej.median)
> summary(triple.high3) #column 4

Call:
lm(formula = govern_dv ~ cand_black * cand_sameparty * got.treatment, 
    data = above.prej.median)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4667 -1.1667  0.1071  0.7568  3.6949 

Coefficients:
                                         Estimate Std. Error t value
(Intercept)                              2.500000   0.248215  10.072
cand_black                              -0.065217   0.376792  -0.173
cand_sameparty                           0.666667   0.336085   1.984
got.treatment                            0.805085   0.304858   2.641
cand_black:cand_sameparty                0.565217   0.544058   1.039
cand_black:got.treatment                 0.003376   0.472498   0.007
cand_sameparty:got.treatment             0.494915   0.430528   1.150
cand_black:cand_sameparty:got.treatment -1.077185   0.695965  -1.548
                                        Pr(>|t|)    
(Intercept)                              < 2e-16 ***
cand_black                               0.86271    
cand_sameparty                           0.04832 *  
got.treatment                            0.00876 ** 
cand_black:cand_sameparty                0.29979    
cand_black:got.treatment                 0.99430    
cand_sameparty:got.treatment             0.25135    
cand_black:cand_sameparty:got.treatment  0.12286    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.36 on 268 degrees of freedom
  (57 observations deleted due to missingness)
Multiple R-squared:  0.1795,	Adjusted R-squared:  0.1581 
F-statistic: 8.377 on 7 and 268 DF,  p-value: 2.931e-09

> triple.high4<-lm(president_dv~cand_black*cand_sameparty*got.treatment,data=above.prej.median)
> summary(triple.high4) #column 5

Call:
lm(formula = president_dv ~ cand_black * cand_sameparty * got.treatment, 
    data = above.prej.median)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1333 -1.1333 -0.1333  1.0877  4.0877 

Coefficients:
                                        Estimate Std. Error t value
(Intercept)                               2.2581     0.2515   8.978
cand_black                               -0.3885     0.3854  -1.008
cand_sameparty                            0.5134     0.3454   1.486
got.treatment                             0.6542     0.3125   2.093
cand_black:cand_sameparty                 0.8393     0.5599   1.499
cand_black:got.treatment                  0.1429     0.4872   0.293
cand_sameparty:got.treatment              0.7077     0.4442   1.593
cand_black:cand_sameparty:got.treatment  -1.5484     0.7183  -2.156
                                        Pr(>|t|)    
(Intercept)                               <2e-16 ***
cand_black                                0.3143    
cand_sameparty                            0.1384    
got.treatment                             0.0373 *  
cand_black:cand_sameparty                 0.1351    
cand_black:got.treatment                  0.7696    
cand_sameparty:got.treatment              0.1123    
cand_black:cand_sameparty:got.treatment   0.0320 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.4 on 265 degrees of freedom
  (60 observations deleted due to missingness)
Multiple R-squared:  0.1768,	Adjusted R-squared:  0.155 
F-statistic: 8.129 on 7 and 265 DF,  p-value: 5.78e-09

> 
> # Appendix Table 5A1 (Logit Models Predicting High Prejudice Classification):
> 
> prej.reg1<-glm(above~got.treatment,data=data,subset=(data$cand_treat==1),family=binomial(link=logit))
> summary(prej.reg1) #n.s.

Call:
glm(formula = above ~ got.treatment, family = binomial(link = logit), 
    data = data, subset = (data$cand_treat == 1))

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-0.8532  -0.8532  -0.8179   1.5409   1.5860  

Coefficients:
              Estimate Std. Error z value Pr(>|z|)   
(Intercept)   -0.82320    0.28275  -2.911   0.0036 **
got.treatment -0.09996    0.35795  -0.279   0.7800   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 194.45  on 160  degrees of freedom
Residual deviance: 194.37  on 159  degrees of freedom
  (190 observations deleted due to missingness)
AIC: 198.37

Number of Fisher Scoring iterations: 4

> prej.reg2<- glm(above~got.treatment,data=data,subset=(data$cand_treat==2),family=binomial(link=logit))
> summary(prej.reg2) #n.s.

Call:
glm(formula = above ~ got.treatment, family = binomial(link = logit), 
    data = data, subset = (data$cand_treat == 2))

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-0.9738  -0.9738  -0.9005   1.3957   1.4823  

Coefficients:
              Estimate Std. Error z value Pr(>|z|)  
(Intercept)    -0.5000     0.2084  -2.399   0.0164 *
got.treatment  -0.1932     0.2757  -0.701   0.4835  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 306.09  on 235  degrees of freedom
Residual deviance: 305.60  on 234  degrees of freedom
  (192 observations deleted due to missingness)
AIC: 309.6

Number of Fisher Scoring iterations: 4

> prej.reg3<- glm(above~got.treatment,data=data,subset=(data$cand_treat==3),family=binomial(link=logit))
> summary(prej.reg3) #n.s.

Call:
glm(formula = above ~ got.treatment, family = binomial(link = logit), 
    data = data, subset = (data$cand_treat == 3))

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.0219  -0.8683  -0.8683   1.3413   1.5220  

Coefficients:
              Estimate Std. Error z value Pr(>|z|)
(Intercept)    -0.3773     0.2650  -1.424    0.155
got.treatment  -0.4040     0.3295  -1.226    0.220

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 231.82  on 179  degrees of freedom
Residual deviance: 230.33  on 178  degrees of freedom
  (191 observations deleted due to missingness)
AIC: 234.33

Number of Fisher Scoring iterations: 4

> prej.reg4<- glm(above~got.treatment,data=data,subset=(data$cand_treat==4),family=binomial(link=logit))
> summary(prej.reg4) #n.s.

Call:
glm(formula = above ~ got.treatment, family = binomial(link = logit), 
    data = data, subset = (data$cand_treat == 4))

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-0.9746  -0.9746  -0.9246   1.3948   1.4533  

Coefficients:
              Estimate Std. Error z value Pr(>|z|)   
(Intercept)    -0.6286     0.2189  -2.872  0.00408 **
got.treatment   0.1308     0.2718   0.481  0.63037   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 336.61  on 255  degrees of freedom
Residual deviance: 336.38  on 254  degrees of freedom
  (192 observations deleted due to missingness)
AIC: 340.38

Number of Fisher Scoring iterations: 4

> 
> # Appendix Table 5A2 (Logit Models Predicting High Prejudice Classification (with Education)):
> 
> #logit models with treatment dummies, education, and treatment*education as predictors:
> #education measured 1-6. dichotomizing at median, which is 4:
> data$high.edu1<-ifelse(data$edu>median(data$edu, na.rm=T), 1, 0)
> table(data$high.edu1) #n_high edu=426. n_low edu=601.

  0   1 
601 426 
> 
> prej.reg5<-glm(above~got.treatment*high.edu1,data=data,subset=(data$cand_treat==1),family=binomial(link=logit))
> summary(prej.reg5) #n.s.

Call:
glm(formula = above ~ got.treatment * high.edu1, family = binomial(link = logit), 
    data = data, subset = (data$cand_treat == 1))

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-0.9304  -0.8083  -0.8020   1.4464   1.8211  

Coefficients:
                        Estimate Std. Error z value Pr(>|z|)  
(Intercept)              -0.6131     0.3444  -1.780    0.075 .
got.treatment            -0.3379     0.4474  -0.755    0.450  
high.edu1                -0.8338     0.6538  -1.275    0.202  
got.treatment:high.edu1   0.8154     0.7965   1.024    0.306  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 189.46  on 158  degrees of freedom
Residual deviance: 187.67  on 155  degrees of freedom
  (192 observations deleted due to missingness)
AIC: 195.67

Number of Fisher Scoring iterations: 4

> prej.reg6<- glm(above~got.treatment*high.edu1,data=data,subset=(data$cand_treat==2),family=binomial(link=logit))
> summary(prej.reg6) #n.s.

Call:
glm(formula = above ~ got.treatment * high.edu1, family = binomial(link = logit), 
    data = data, subset = (data$cand_treat == 2))

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.0520  -0.9978  -0.6876   1.3082   1.7653  

Coefficients:
                        Estimate Std. Error z value Pr(>|z|)
(Intercept)              -0.4383     0.2868  -1.528    0.127
got.treatment             0.1360     0.3653   0.372    0.710
high.edu1                -0.1297     0.4176  -0.311    0.756
got.treatment:high.edu1  -0.8897     0.5754  -1.546    0.122

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 305.22  on 234  degrees of freedom
Residual deviance: 297.59  on 231  degrees of freedom
  (193 observations deleted due to missingness)
AIC: 305.59

Number of Fisher Scoring iterations: 4

> prej.reg7<- glm(above~got.treatment*high.edu1,data=data,subset=(data$cand_treat==3),family=binomial(link=logit))
> summary(prej.reg7) #coeff on high education is p=.09

Call:
glm(formula = above ~ got.treatment * high.edu1, family = binomial(link = logit), 
    data = data, subset = (data$cand_treat == 3))

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.1774  -0.9458  -0.7876   1.2401   1.6259  

Coefficients:
                          Estimate Std. Error z value Pr(>|z|)  
(Intercept)             -1.204e-15  3.430e-01   0.000    1.000  
got.treatment           -5.725e-01  4.344e-01  -1.318    0.188  
high.edu1               -9.445e-01  5.622e-01  -1.680    0.093 .
got.treatment:high.edu1  5.054e-01  6.873e-01   0.735    0.462  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 231.82  on 179  degrees of freedom
Residual deviance: 226.13  on 176  degrees of freedom
  (191 observations deleted due to missingness)
AIC: 234.13

Number of Fisher Scoring iterations: 4

> prej.reg8<- glm(above~got.treatment*high.edu1,data=data,subset=(data$cand_treat==4),family=binomial(link=logit))
> summary(prej.reg8) #n.s.

Call:
glm(formula = above ~ got.treatment * high.edu1, family = binomial(link = logit), 
    data = data, subset = (data$cand_treat == 4))

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.0629  -0.9647  -0.8595   1.2964   1.5330  

Coefficients:
                        Estimate Std. Error z value Pr(>|z|)  
(Intercept)              -0.7239     0.3046  -2.376   0.0175 *
got.treatment             0.4485     0.3684   1.217   0.2234  
high.edu1                 0.2007     0.4386   0.458   0.6473  
got.treatment:high.edu1  -0.7309     0.5515  -1.325   0.1851  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 335.69  on 254  degrees of freedom
Residual deviance: 332.65  on 251  degrees of freedom
  (193 observations deleted due to missingness)
AIC: 340.65

Number of Fisher Scoring iterations: 4

> 
> #####################################
> ### Re-contact study (Appendix 5) ###
> #####################################
> 
> ### NOTE: before analyzing the re-contact data, we create a merged dataset including everyone's t1 responses 
> # and the t2 responses from participants who participated in the re-contact study.
> 
> setwd("~/Dropbox/DJ_Yanna/SSI recontact Winter 2016/") #insert your wd
> 
> ## Data from original study (t1): 
> data<-read.dta("original dataset with panel id good.dta")
> dim(data) #n=2020 in total. n=1031 our study; see "FlynnKrupnikov_dataset construction.docx" for details
[1] 2020   27
> names(data)
 [1] "pid"        "psid"       "cand_treat" "djtreat1"   "djtreat2"  
 [6] "djtreat3"   "corr_treat" "favorable"  "govern"     "president" 
[11] "leader"     "vote"       "whitelazy"  "blacklazy"  "whiteint"  
[16] "blackint"   "pid1"       "pid_dem"    "pid_rep"    "ind_lean"  
[21] "race"       "spanish"    "gender"     "educ"       "income"    
[26] "ideo"       "interest"  
> #write out same data as .csv:
> #write.table(data,"original dataset with panel id good.csv",sep=",")
> 
> library(car)
> #make t1 prejudice indicator:
> data$white.lazy<-recode(data$whitelazy,"-99=NA") #1-7 ascending hardworking
> data$black.lazy<-recode(data$blacklazy,"-99=NA") #1-7 ascending hardworking
> data$white.int<-recode(data$whiteint,"-99=NA") #1-7 ascending intelligent
> data$black.int<-recode(data$blackint,"-99=NA") #1-7 ascending intelligent
> ##create prejudice score per Piston 2010 Pol. Behav.)
> #diff on lazy question
> data$lazy.diff.temp <- data$white.lazy - data$black.lazy
> data$lazy.diff <- (data$lazy.diff.temp+6)/12 #re-scaled 0-1
> #diff on unintelligent question
> data$unint.diff.temp <- data$white.int - data$black.int
> data$unint.diff <- (data$unint.diff.temp+6)/12 #re-scaled 0-1
> data$prej.temp <- data$lazy.diff.temp + data$unint.diff.temp
> #final prej. score:
> data$prej.scale <- (data$prej.temp + 12) / 24
> summary(data$prej.scale)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
 0.0833  0.5000  0.5000  0.5274  0.5417  1.0000    1003 
> data$high.prej_t1 <- ifelse(data$prej.scale>median(data$prej.scale,na.rm=T), 1, 0) 
> table(data$high.prej_t1) #n=333

  0   1 
684 333 
> data$low.prej_t1 <- ifelse(data$prej.scale<=median(data$prej.scale,na.rm=T), 1, 0) 
> table(data$low.prej_t1) #n=683

  0   1 
333 684 
> above.prej.median <- subset(data, prej.scale>median(data$prej.scale,na.rm=T)) 
> dim(above.prej.median) #n=333
[1] 333  39
> below.prej.median <- subset(data, prej.scale<=median(data$prej.scale,na.rm=T)) 
> dim(below.prej.median) #n=684
[1] 684  39
> 
> #covariates used below:
> data$female<-recode(data$gender,"2=1;1=0;else=NA",as.factor.result = F) #1 if yes, 0 otherwise
> data$educ<-recode(data$educ,"-99=NA",as.factor.result=F) #1-6 ascending
> data$income.new<-recode(data$income,"-99=NA",as.factor.result=F) #1-9 ascending
> data$pid1.new<-recode(data$pid1,"1=2;2=3;3=1;else=NA",as.factor.result = F) #new ordering: 1=ind, 2=Dem, 3=Rep
> 
> ## Recontact data (t2):
> data2<-read.dta("SSI recontact dataset old.dta")
> dim(data2) #n=845
[1] 845  20
> names(data2)
 [1] "pid"          "psid"         "ind"          "gender"      
 [5] "educ"         "white"        "black"        "latino"      
 [9] "asian"        "income"       "partyid"      "str_weak_dem"
[13] "str_weak_rep" "sm_1"         "sm_2"         "sm_3"        
[17] "white_lazy"   "black_lazy"   "white_int"    "black_int"   
> 
> ## Merging old data with recontact data: 
> merged<-merge(data, data2, by="pid")
> dim(merged) #n=312
[1] 312  61
> names(merged) #notice variables that appeared in both have ".x" and ".y" (distributions the same)
 [1] "pid"             "psid.x"          "cand_treat"      "djtreat1"       
 [5] "djtreat2"        "djtreat3"        "corr_treat"      "favorable"      
 [9] "govern"          "president"       "leader"          "vote"           
[13] "whitelazy"       "blacklazy"       "whiteint"        "blackint"       
[17] "pid1"            "pid_dem"         "pid_rep"         "ind_lean"       
[21] "race"            "spanish"         "gender.x"        "educ.x"         
[25] "income.x"        "ideo"            "interest"        "white.lazy"     
[29] "black.lazy"      "white.int"       "black.int"       "lazy.diff.temp" 
[33] "lazy.diff"       "unint.diff.temp" "unint.diff"      "prej.temp"      
[37] "prej.scale"      "high.prej_t1"    "low.prej_t1"     "female"         
[41] "income.new"      "pid1.new"        "psid.y"          "ind"            
[45] "gender.y"        "educ.y"          "white"           "black"          
[49] "latino"          "asian"           "income.y"        "partyid"        
[53] "str_weak_dem"    "str_weak_rep"    "sm_1"            "sm_2"           
[57] "sm_3"            "white_lazy"      "black_lazy"      "white_int"      
[61] "black_int"      
> 
> ## Recoding new variables (from re-contact study):
> 
> # Racial attitudes:
> table(merged$white_lazy) #NAs are -99s

-99   1   2   3   4   5   6   7 
  1   1   4  11  73  98  73  40 
> merged$white_lazy.new<-recode(merged$white_lazy, "-99=NA;1=1;2=2;3=3;4=4;5=5;6=6;7=7;else=NA",as.factor.result=F)
> table(merged$white_lazy.new)

 1  2  3  4  5  6  7 
 1  4 11 73 98 73 40 
> table(merged$black_lazy) #NAs are -99s

-99   1   2   3   4   5   6   7 
  2   6  18  37 105  71  38  24 
> merged$black_lazy.new<-recode(merged$black_lazy, "-99=NA;1=1;2=2;3=3;4=4;5=5;6=6;7=7;else=NA",as.factor.result=F)
> table(merged$black_lazy.new)

  1   2   3   4   5   6   7 
  6  18  37 105  71  38  24 
> table(merged$white_int)

 1  2  3  4  5  6  7 
 2  5  7 77 98 89 23 
> table(merged$black_int)

  1   2   3   4   5   6   7 
  6  11  24 109  85  44  22 
> #Create prejudice score per Piston 2010 Pol. Behav.:
> #diff on lazy question
> merged$lazy.diff.temp <- merged$white_lazy.new - merged$black_lazy.new
> merged$lazy.diff <- (merged$lazy.diff.temp+6)/12 #re-scaled 0-1
> #diff on unintelligent question
> merged$int.diff.temp <- merged$white_int - merged$black_int
> merged$int.diff <- (merged$int.diff.temp+6)/12 #re-scaled 0-1
> merged$prej.temp <- merged$lazy.diff.temp + merged$int.diff.temp
> #final prej. score:
> merged$prej.scale <- (merged$prej.temp + 12) / 24
> summary(merged$prej.scale) #note coding: high prej=above median, low prej=at or below median
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
 0.0000  0.5000  0.5000  0.5496  0.5833  0.9583      14 
> hist(merged$prej.scale,breaks=14)
> abline(v=median(merged$prej.scale,na.rm=T),lwd=4,col="red")
> d<-density(merged$prej.scale,na.rm=T)
> plot(d)
> 
> # Treatments:
> #original codes: data$cand_treat: 1=same party, black. 2=same party, white. 3=other party, black. 4=other party, white.
> merged$correction<-recode(merged$corr_treat,"'No Correction'=1; 'Unattributed Correction'=2; 'Attributed Correction'=3",as.factor.result=FALSE)
> table(merged$correction) #Note new codes: 1=no correction; 2=unattributed correction; 3=attributed ("PolitiCheck") correction.

  1   2   3 
129 101  82 
> 
> # DVs:
> merged$favorable_dv<-merged$favorable #1-7
> merged$govern_dv<-merged$govern #1-7
> merged$president_dv<-merged$president #1-7
> merged$leader_dv<-merged$leader #1-7
> merged$vote_dv<-recode(merged$vote,"1=5;2=4;3=3;4=2;5=1;else=NA") #1-5
> 
> ## Begin re-contact analysis:
> 
> # Appendix Table 5B1 (Logit Models Predicting Participation in Re-contact Survey):
> 
> #create indicator for whether recontacted: 1 if original ID is in recontact data, 0 otherwise:
> data$recontacted<-ifelse(is.element(data$pid, merged$pid)==TRUE,1,0)
> #merge two correction conditions (as did in main analyses), such that 1=corrected, 0=uncorrected:
> data$correction.new<-recode(data$corr_treat,"'No Correction'=0;'Attributed Correction'=1;'Unattributed Correction'=1;else=NA",as.factor.result=F)
> table(data$correction.new)

  0   1 
385 656 
> table(data$correction.new, data$corr_treat) #verify coding
   
    Attributed Correction No Correction Unattributed Correction
  0                     0           385                       0
  1                   269             0                     387
> #create indicator for original exp. condition:
> data$condition<-ifelse(data$cand_treat==1 & data$correction.new==0, 1,
+                        ifelse(data$cand_treat==1 & data$correction.new==1, 2,
+                               ifelse(data$cand_treat==2 & data$correction.new==0, 3,
+                                      ifelse(data$cand_treat==2 & data$correction.new==1, 4,
+                                             ifelse(data$cand_treat==3 & data$correction.new==0, 5,
+                                                    ifelse(data$cand_treat==3 & data$correction.new==1, 6,
+                                                           ifelse(data$cand_treat==4 & data$correction.new==0, 7,
+                                                                  ifelse(data$cand_treat==4 & data$correction.new==1, 8, NA))))))))
> #logit models (Table 5B1):
> recontact.logit1<-glm(recontacted~as.factor(condition),family=binomial(link=logit),data=data)
> summary(recontact.logit1) #column 2

Call:
glm(formula = recontacted ~ as.factor(condition), family = binomial(link = logit), 
    data = data)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-0.9729  -0.8250  -0.8044   1.4823   1.6268  

Coefficients:
                      Estimate Std. Error z value Pr(>|z|)  
(Intercept)           -0.69315    0.27386  -2.531   0.0114 *
as.factor(condition)2 -0.20972    0.34907  -0.601   0.5480  
as.factor(condition)3 -0.02985    0.34642  -0.086   0.9313  
as.factor(condition)4 -0.25841    0.33248  -0.777   0.4370  
as.factor(condition)5  0.19106    0.38052   0.502   0.6156  
as.factor(condition)6 -0.26913    0.34007  -0.791   0.4287  
as.factor(condition)7 -0.08269    0.35406  -0.234   0.8153  
as.factor(condition)8 -0.32047    0.32448  -0.988   0.3233  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1035.1  on 849  degrees of freedom
Residual deviance: 1031.0  on 842  degrees of freedom
  (1170 observations deleted due to missingness)
AIC: 1047

Number of Fisher Scoring iterations: 4

> recontact.logit2<-glm(recontacted~as.factor(condition)+female+educ+income.new+as.factor(pid1),family=binomial(link=logit),data=data)
> summary(recontact.logit2) #column 3

Call:
glm(formula = recontacted ~ as.factor(condition) + female + educ + 
    income.new + as.factor(pid1), family = binomial(link = logit), 
    data = data)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.1463  -0.8573  -0.7885   1.4388   1.8197  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)  
(Intercept)           -0.797188   0.384234  -2.075    0.038 *
as.factor(condition)2 -0.129289   0.354914  -0.364    0.716  
as.factor(condition)3 -0.009602   0.353631  -0.027    0.978  
as.factor(condition)4 -0.205116   0.339394  -0.604    0.546  
as.factor(condition)5  0.264580   0.386578   0.684    0.494  
as.factor(condition)6 -0.210123   0.346360  -0.607    0.544  
as.factor(condition)7 -0.008469   0.359873  -0.024    0.981  
as.factor(condition)8 -0.253384   0.330095  -0.768    0.443  
female                -0.242173   0.154781  -1.565    0.118  
educ                  -0.013278   0.060159  -0.221    0.825  
income.new             0.058371   0.039723   1.469    0.142  
as.factor(pid1)2      -0.087613   0.178043  -0.492    0.623  
as.factor(pid1)3      -0.227920   0.196130  -1.162    0.245  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1023.5  on 840  degrees of freedom
Residual deviance: 1013.8  on 828  degrees of freedom
  (1179 observations deleted due to missingness)
AIC: 1039.8

Number of Fisher Scoring iterations: 4

> 
> # Appendix Table 5B2 (Logit Models Predicting High Prejudice Classification (with Self Monitoring)):
> 
> #models with treatment dummies, social monitoring (SM), and treatment*SM as predictors:
> #SM scale from Berinsky and Levine (2011)
> merged$sm1<-recode(merged$sm_1,"1=3;2=2;3=1;else=NA",as.factor.result = F)
> merged$sm2<-recode(merged$sm_2,"-99=NA;5=1;4=2;3=3;2=4;1=5;else=NA",as.factor.result = F)
> merged$sm3<-recode(merged$sm_3,"5=1;4=2;3=3;2=4;1=5;else=NA",as.factor.result = F)
> merged$sm.score<-(merged$sm1+merged$sm2+merged$sm3)
> median(merged$sm.score,na.rm=T) #median is 6
[1] 6
> merged$high.sm<-ifelse(merged$sm.score>median(merged$sm.score,na.rm=T), 1, 0) 
> table(merged$high.sm) #145 are high SM, 155 are low.

  0   1 
155 145 
> 
> #Column 2:
> sm.reg1<-glm(high.prej_t1~as.factor(correction)*high.sm,data=merged,family=binomial(link=logit))
> summary(sm.reg1) #n.s.

Call:
glm(formula = high.prej_t1 ~ as.factor(correction) * high.sm, 
    family = binomial(link = logit), data = merged)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-0.9827  -0.9331  -0.9005   1.4147   1.4823  

Coefficients:
                               Estimate Std. Error z value Pr(>|z|)  
(Intercept)                    -0.60614    0.29302  -2.069   0.0386 *
as.factor(correction)2         -0.08701    0.41725  -0.209   0.8348  
as.factor(correction)3         -0.02639    0.41944  -0.063   0.9498  
high.sm                         0.06381    0.38615   0.165   0.8687  
as.factor(correction)2:high.sm  0.15241    0.57218   0.266   0.7900  
as.factor(correction)3:high.sm -0.12444    0.62385  -0.199   0.8419  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 384.99  on 295  degrees of freedom
Residual deviance: 384.60  on 290  degrees of freedom
  (16 observations deleted due to missingness)
AIC: 396.6

Number of Fisher Scoring iterations: 4

> #Column 3:
> sm.reg2<-glm(high.prej_t1~as.factor(correction)*high.sm,data=merged,subset=(merged$cand_treat==1),family=binomial(link=logit))
> summary(sm.reg2) #n.s.

Call:
glm(formula = high.prej_t1 ~ as.factor(correction) * high.sm, 
    family = binomial(link = logit), data = merged, subset = (merged$cand_treat == 
        1))

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.0842  -0.9005  -0.6681   1.2735   2.0963  

Coefficients:
                               Estimate Std. Error z value Pr(>|z|)  
(Intercept)                     -2.0794     1.0606  -1.961   0.0499 *
as.factor(correction)2           1.5686     1.2877   1.218   0.2232  
as.factor(correction)3           1.1632     1.3509   0.861   0.3892  
high.sm                          0.6931     1.3229   0.524   0.6003  
as.factor(correction)2:high.sm  -0.4055     1.6533  -0.245   0.8063  
as.factor(correction)3:high.sm  -0.4700     1.7888  -0.263   0.7927  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 58.630  on 48  degrees of freedom
Residual deviance: 55.251  on 43  degrees of freedom
  (60 observations deleted due to missingness)
AIC: 67.251

Number of Fisher Scoring iterations: 4

> #Column 4:
> sm.reg3<- glm(high.prej_t1~as.factor(correction)*high.sm,data=merged,subset=(merged$cand_treat==2),family=binomial(link=logit))
> summary(sm.reg3) #n.s.

Call:
glm(formula = high.prej_t1 ~ as.factor(correction) * high.sm, 
    family = binomial(link = logit), data = merged, subset = (merged$cand_treat == 
        2))

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.1278  -1.0137  -0.7585   1.2278   1.7344  

Coefficients:
                               Estimate Std. Error z value Pr(>|z|)
(Intercept)                    -0.28768    0.54006  -0.533    0.594
as.factor(correction)2         -0.22314    0.90830  -0.246    0.806
as.factor(correction)3         -0.96508    0.96671  -0.998    0.318
high.sm                         0.16990    0.72648   0.234    0.815
as.factor(correction)2:high.sm -0.63990    1.23266  -0.519    0.604
as.factor(correction)3:high.sm -0.01575    1.35547  -0.012    0.991

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 87.419  on 66  degrees of freedom
Residual deviance: 84.638  on 61  degrees of freedom
  (64 observations deleted due to missingness)
AIC: 96.638

Number of Fisher Scoring iterations: 4

> #Column 5:
> sm.reg4<- glm(high.prej_t1~as.factor(correction)*high.sm,data=merged,subset=(merged$cand_treat==3),family=binomial(link=logit))
> summary(sm.reg4) #n.s.

Call:
glm(formula = high.prej_t1 ~ as.factor(correction) * high.sm, 
    family = binomial(link = logit), data = merged, subset = (merged$cand_treat == 
        3))

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.6651  -1.1010  -0.7585   1.2225   1.6651  

Coefficients:
                               Estimate Std. Error z value Pr(>|z|)
(Intercept)                       1.099      1.155   0.951    0.341
as.factor(correction)2           -2.197      1.414  -1.554    0.120
as.factor(correction)3           -1.281      1.304  -0.982    0.326
high.sm                          -1.204      1.243  -0.969    0.333
as.factor(correction)2:high.sm    1.897      1.621   1.170    0.242
as.factor(correction)3:high.sm  -16.180   1769.258  -0.009    0.993

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 76.883  on 56  degrees of freedom
Residual deviance: 68.401  on 51  degrees of freedom
  (59 observations deleted due to missingness)
AIC: 80.401

Number of Fisher Scoring iterations: 16

> #Column 6:
> sm.reg5<- glm(high.prej_t1~as.factor(correction)*high.sm,data=merged,subset=(merged$cand_treat==4),family=binomial(link=logit))
> summary(sm.reg5) #n.s.

Call:
glm(formula = high.prej_t1 ~ as.factor(correction) * high.sm, 
    family = binomial(link = logit), data = merged, subset = (merged$cand_treat == 
        4))

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
-1.256  -1.088  -1.058   1.256   1.302  

Coefficients:
                               Estimate Std. Error z value Pr(>|z|)
(Intercept)                    -0.15415    0.55635  -0.277    0.782
as.factor(correction)2         -0.13353    0.77536  -0.172    0.863
as.factor(correction)3         -0.06899    0.87150  -0.079    0.937
high.sm                        -0.13353    0.77536  -0.172    0.863
as.factor(correction)2:high.sm  0.23889    1.12227   0.213    0.831
as.factor(correction)3:high.sm  0.53900    1.19073   0.453    0.651

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 99.313  on 71  degrees of freedom
Residual deviance: 98.869  on 66  degrees of freedom
  (61 observations deleted due to missingness)
AIC: 110.87

Number of Fisher Scoring iterations: 3

> 
> # Appendix Table 5B3 (Correlation Between Prejudice at Time of Initial Contact and at Re-contact):
> 
> #t1 measured already recoded above; need to recode t2 measures to get rid of NAs:
> merged$white_lazy_w2 <- recode(merged$white_lazy, "-99=NA",as.factor.result=F) #1-7 ascending hardworking
> merged$black_lazy_w2 <- recode(merged$black_lazy, "-99=NA",as.factor.result=F) #1-7 ascending hardworking
> merged$white_int_w2 <- recode(merged$white_int, "-99=NA",as.factor.result=F) #1-7 ascending intelligent
> merged$black_int_w2 <- recode(merged$black_int, "-99=NA",as.factor.result=F) #1-7 ascending intelligent
> 
> # Correlations across waves:
> cor.test(merged$white.lazy, merged$white_lazy_w2, use="complete") #cor=0.38 (p<.001)

	Pearson's product-moment correlation

data:  merged$white.lazy and merged$white_lazy_w2
t = 7.1347, df = 295, p-value = 7.542e-12
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 0.2821226 0.4766200
sample estimates:
      cor 
0.3836172 

> # Blacks lazy:
> cor.test(merged$black.lazy, merged$black_lazy_w2, use="complete") #cor=0.56 (p<.001)

	Pearson's product-moment correlation

data:  merged$black.lazy and merged$black_lazy_w2
t = 11.63, df = 294, p-value < 2.2e-16
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 0.4779285 0.6347316
sample estimates:
      cor 
0.5613475 

> # Whites unintelligent:
> cor.test(merged$white.int, merged$white_int_w2, use="complete") #cor=0.46 (p<.001)

	Pearson's product-moment correlation

data:  merged$white.int and merged$white_int_w2
t = 8.8892, df = 295, p-value < 2.2e-16
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 0.3649177 0.5449447
sample estimates:
    cor 
0.45964 

> # Blacks unintelligent:
> cor.test(merged$black.int, merged$black_int_w2, use="complete") #cor=0.50 (p<.001)

	Pearson's product-moment correlation

data:  merged$black.int and merged$black_int_w2
t = 10.011, df = 295, p-value < 2.2e-16
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 0.4134457 0.5839100
sample estimates:
      cor 
0.5035626 

> 
> # Appendix Table 5B4 (Correlation Between Racial Prejudice Measures in ANES): results from Piston (2018)
> 
> # Appendix Table 5B5 (Effect of Correction on Candidate Evaluations, by Type of Candidate and Prejudice Level):
> # (same analysis as Table 2 in main text, except using prejudice measures from re-contact study)
> 
> # Top half of Appendix Table 5B5 (high prejudice participants):
> 
> #create high/low prejudice subsets (same procedure as above:)
> median(merged$prej.scale, na.rm=T) #median is 0.5
[1] 0.5
> above.prej.median <- subset(merged, prej.scale>median(merged$prej.scale,na.rm=T)) 
> dim(above.prej.median) #n=137
[1] 137  80
> below.prej.median <- subset(merged, prej.scale<=median(merged$prej.scale,na.rm=T)) 
> dim(below.prej.median) #n=161
[1] 161  80
> 
> ##Favorability by type of correction (broken down by party/race type)
> #Same Party, Black
> #no correction vs. either correction: 
> t.test(above.prej.median$favorable_dv[above.prej.median$cand_treat==1 & above.prej.median$correction==1],
+        above.prej.median$favorable_dv[above.prej.median$cand_treat==1 & above.prej.median$correction==2 | 
+                                         above.prej.median$cand_treat==1 & above.prej.median$correction==3],na.rm=T,var.equal=F) #p=.45

	Welch Two Sample t-test

data:  above.prej.median$favorable_dv[above.prej.median$cand_treat ==  and above.prej.median$favorable_dv[above.prej.median$cand_treat ==     1 & above.prej.median$correction == 1] and     1 & above.prej.median$correction == 2 | above.prej.median$cand_treat == above.prej.median$favorable_dv[above.prej.median$cand_treat ==  and     1 & above.prej.median$correction == 3]
t = -0.79698, df = 7.5528, p-value = 0.4498
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.9617592  0.9617592
sample estimates:
mean of x mean of y 
      3.5       4.0 

> 
> #Same Party, White
> #no correction vs. either correction: 
> t.test(above.prej.median$favorable_dv[above.prej.median$cand_treat==2 & above.prej.median$correction==1], 
+        above.prej.median$favorable_dv[above.prej.median$cand_treat==2 & above.prej.median$correction==2 | 
+                                         above.prej.median$cand_treat==2 & above.prej.median$correction==3],na.rm=T,var.equal=F) #p<.01

	Welch Two Sample t-test

data:  above.prej.median$favorable_dv[above.prej.median$cand_treat ==  and above.prej.median$favorable_dv[above.prej.median$cand_treat ==     2 & above.prej.median$correction == 1] and     2 & above.prej.median$correction == 2 | above.prej.median$cand_treat == above.prej.median$favorable_dv[above.prej.median$cand_treat ==  and     2 & above.prej.median$correction == 3]
t = -3.2465, df = 18.42, p-value = 0.004378
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -2.2862212 -0.4915566
sample estimates:
mean of x mean of y 
 2.611111  4.000000 

> 
> #Other Party, Black
> #no correction vs. either correction: 
> t.test(above.prej.median$favorable_dv[above.prej.median$cand_treat==3 & above.prej.median$correction==1],
+        above.prej.median$favorable_dv[above.prej.median$cand_treat==3 & above.prej.median$correction==2 | 
+                                         above.prej.median$cand_treat==3 & above.prej.median$correction==3],na.rm=T,var.equal=F) #p<.01

	Welch Two Sample t-test

data:  above.prej.median$favorable_dv[above.prej.median$cand_treat ==  and above.prej.median$favorable_dv[above.prej.median$cand_treat ==     3 & above.prej.median$correction == 1] and     3 & above.prej.median$correction == 2 | above.prej.median$cand_treat == above.prej.median$favorable_dv[above.prej.median$cand_treat ==  and     3 & above.prej.median$correction == 3]
t = -3.3858, df = 26.083, p-value = 0.002258
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -2.2319454 -0.5458323
sample estimates:
mean of x mean of y 
 2.166667  3.555556 

> 
> #Other Party, White
> #no correction vs. either correction: 
> t.test(above.prej.median$favorable_dv[above.prej.median$cand_treat==4 & above.prej.median$correction==1],
+        above.prej.median$favorable_dv[above.prej.median$cand_treat==4 & above.prej.median$correction==2 | 
+                                         above.prej.median$cand_treat==4 & above.prej.median$correction==3],na.rm=T,var.equal=F) #p<.01

	Welch Two Sample t-test

data:  above.prej.median$favorable_dv[above.prej.median$cand_treat ==  and above.prej.median$favorable_dv[above.prej.median$cand_treat ==     4 & above.prej.median$correction == 1] and     4 & above.prej.median$correction == 2 | above.prej.median$cand_treat == above.prej.median$favorable_dv[above.prej.median$cand_treat ==  and     4 & above.prej.median$correction == 3]
t = -3.1046, df = 30.586, p-value = 0.004084
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -2.1825156 -0.4513305
sample estimates:
mean of x mean of y 
 1.923077  3.240000 

> 
> 
> ##Vote likelihood by type of correction (broken down by party/race type)
> #Same Party, Black
> #no correction vs. either correction: 
> t.test(above.prej.median$vote_dv[above.prej.median$cand_treat==1 & above.prej.median$correction==1],
+        above.prej.median$vote_dv[above.prej.median$cand_treat==1 & above.prej.median$correction==2 |
+                                    above.prej.median$cand_treat==1 & above.prej.median$correction==3],na.rm=T,var.equal=F) #p=.84

	Welch Two Sample t-test

data:  above.prej.median$vote_dv[above.prej.median$cand_treat == 1 &  and above.prej.median$vote_dv[above.prej.median$cand_treat == 1 &     above.prej.median$correction == 1] and     above.prej.median$correction == 2 | above.prej.median$cand_treat == above.prej.median$vote_dv[above.prej.median$cand_treat == 1 &  and     1 & above.prej.median$correction == 3]
t = -0.20252, df = 8.9438, p-value = 0.844
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.1600935  0.9696174
sample estimates:
mean of x mean of y 
 2.833333  2.928571 

> 
> #Same Party, White
> #no correction vs. either correction: 
> t.test(above.prej.median$vote_dv[above.prej.median$cand_treat==2 & above.prej.median$correction==1],
+        above.prej.median$vote_dv[above.prej.median$cand_treat==2 & above.prej.median$correction==2 |
+                                    above.prej.median$cand_treat==2 & above.prej.median$correction==3],na.rm=T,var.equal=F) #p=.31

	Welch Two Sample t-test

data:  above.prej.median$vote_dv[above.prej.median$cand_treat == 2 &  and above.prej.median$vote_dv[above.prej.median$cand_treat == 2 &     above.prej.median$correction == 1] and     above.prej.median$correction == 2 | above.prej.median$cand_treat == above.prej.median$vote_dv[above.prej.median$cand_treat == 2 &  and     2 & above.prej.median$correction == 3]
t = -1.0465, df = 25.465, p-value = 0.3052
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.1281737  0.3674899
sample estimates:
mean of x mean of y 
 2.388889  2.769231 

> 
> #Other Party, Black
> #no correction vs. either correction: 
> t.test(above.prej.median$vote_dv[above.prej.median$cand_treat==3 & above.prej.median$correction==1],
+        above.prej.median$vote_dv[above.prej.median$cand_treat==3 & above.prej.median$correction==2 |
+                                    above.prej.median$cand_treat==3 & above.prej.median$correction==3],na.rm=T,var.equal=F) #p=.29

	Welch Two Sample t-test

data:  above.prej.median$vote_dv[above.prej.median$cand_treat == 3 &  and above.prej.median$vote_dv[above.prej.median$cand_treat == 3 &     above.prej.median$correction == 1] and     above.prej.median$correction == 2 | above.prej.median$cand_treat == above.prej.median$vote_dv[above.prej.median$cand_treat == 3 &  and     3 & above.prej.median$correction == 3]
t = -1.0962, df = 21.424, p-value = 0.2851
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.3669733  0.4225289
sample estimates:
mean of x mean of y 
 1.750000  2.222222 

> 
> #Other Party, White
> #no correction vs. either correction: 
> t.test(above.prej.median$vote_dv[above.prej.median$cand_treat==4 & above.prej.median$correction==1],
+        above.prej.median$vote_dv[above.prej.median$cand_treat==4 & above.prej.median$correction==2 |
+                                    above.prej.median$cand_treat==4 & above.prej.median$correction==3],na.rm=T,var.equal=F) #p=.08

	Welch Two Sample t-test

data:  above.prej.median$vote_dv[above.prej.median$cand_treat == 4 &  and above.prej.median$vote_dv[above.prej.median$cand_treat == 4 &     above.prej.median$correction == 1] and     above.prej.median$correction == 2 | above.prej.median$cand_treat == above.prej.median$vote_dv[above.prej.median$cand_treat == 4 &  and     4 & above.prej.median$correction == 3]
t = -1.8066, df = 31.682, p-value = 0.08033
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.40302110  0.08433978
sample estimates:
mean of x mean of y 
 1.571429  2.230769 

> 
> ##Gubernatorial success by type of correction (broken down by party/race type)
> #Same Party, Black
> #no correction vs. either correction: 
> t.test(above.prej.median$govern_dv[above.prej.median$cand_treat==1 & above.prej.median$correction==1],
+        above.prej.median$govern_dv[above.prej.median$cand_treat==1 & above.prej.median$correction==2 |
+                                      above.prej.median$cand_treat==1 & above.prej.median$correction==3],na.rm=T,var.equal=F) #p=.61

	Welch Two Sample t-test

data:  above.prej.median$govern_dv[above.prej.median$cand_treat == 1 &  and above.prej.median$govern_dv[above.prej.median$cand_treat == 1 &     above.prej.median$correction == 1] and     above.prej.median$correction == 2 | above.prej.median$cand_treat == above.prej.median$govern_dv[above.prej.median$cand_treat == 1 &  and     1 & above.prej.median$correction == 3]
t = -0.53511, df = 7.5995, p-value = 0.6079
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.783083  1.116416
sample estimates:
mean of x mean of y 
 3.666667  4.000000 

> 
> #Same Party, White
> #no correction vs. either correction: 
> t.test(above.prej.median$govern_dv[above.prej.median$cand_treat==2 & above.prej.median$correction==1],
+        above.prej.median$govern_dv[above.prej.median$cand_treat==2 & above.prej.median$correction==2 |
+                                      above.prej.median$cand_treat==2 & above.prej.median$correction==3],na.rm=T,var.equal=F) #p<.01

	Welch Two Sample t-test

data:  above.prej.median$govern_dv[above.prej.median$cand_treat == 2 &  and above.prej.median$govern_dv[above.prej.median$cand_treat == 2 &     above.prej.median$correction == 1] and     above.prej.median$correction == 2 | above.prej.median$cand_treat == above.prej.median$govern_dv[above.prej.median$cand_treat == 2 &  and     2 & above.prej.median$correction == 3]
t = -3.1883, df = 19.978, p-value = 0.004622
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -2.0678686 -0.4321314
sample estimates:
mean of x mean of y 
     3.00      4.25 

> 
> #Other Party, Black
> #no correction vs. either correction: 
> t.test(above.prej.median$govern_dv[above.prej.median$cand_treat==3 & above.prej.median$correction==1],
+        above.prej.median$govern_dv[above.prej.median$cand_treat==3 & above.prej.median$correction==2 |
+                                      above.prej.median$cand_treat==3 & above.prej.median$correction==3],na.rm=T,var.equal=F) #p<.01

	Welch Two Sample t-test

data:  above.prej.median$govern_dv[above.prej.median$cand_treat == 3 &  and above.prej.median$govern_dv[above.prej.median$cand_treat == 3 &     above.prej.median$correction == 1] and     above.prej.median$correction == 2 | above.prej.median$cand_treat == above.prej.median$govern_dv[above.prej.median$cand_treat == 3 &  and     3 & above.prej.median$correction == 3]
t = -3.8311, df = 27.72, p-value = 0.0006681
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -2.1318376 -0.6459402
sample estimates:
mean of x mean of y 
 2.166667  3.555556 

> 
> #Other Party, White
> #no correction vs. either correction: 
> t.test(above.prej.median$govern_dv[above.prej.median$cand_treat==4 & above.prej.median$correction==1],
+        above.prej.median$govern_dv[above.prej.median$cand_treat==4 & above.prej.median$correction==2 |
+                                      above.prej.median$cand_treat==4 & above.prej.median$correction==3],na.rm=T,var.equal=F) #p=.08

	Welch Two Sample t-test

data:  above.prej.median$govern_dv[above.prej.median$cand_treat == 4 &  and above.prej.median$govern_dv[above.prej.median$cand_treat == 4 &     above.prej.median$correction == 1] and     above.prej.median$correction == 2 | above.prej.median$cand_treat == above.prej.median$govern_dv[above.prej.median$cand_treat == 4 &  and     4 & above.prej.median$correction == 3]
t = -1.8201, df = 20.253, p-value = 0.08356
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -2.1451804  0.1451804
sample estimates:
mean of x mean of y 
     2.25      3.25 

> 
> 
> ##Presidential success by type of correction (broken down by party/race type)
> #no correction vs. either correction: 
> t.test(above.prej.median$president_dv[above.prej.median$cand_treat==1 & above.prej.median$correction==1],
+        above.prej.median$president_dv[above.prej.median$cand_treat==1 & above.prej.median$correction==2 |
+                                         above.prej.median$cand_treat==1 & above.prej.median$correction==3],na.rm=T,var.equal=F) #p=.58

	Welch Two Sample t-test

data:  above.prej.median$president_dv[above.prej.median$cand_treat ==  and above.prej.median$president_dv[above.prej.median$cand_treat ==     1 & above.prej.median$correction == 1] and     1 & above.prej.median$correction == 2 | above.prej.median$cand_treat == above.prej.median$president_dv[above.prej.median$cand_treat ==  and     1 & above.prej.median$correction == 3]
t = -0.57833, df = 8.7715, p-value = 0.5776
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.994323  1.184799
sample estimates:
mean of x mean of y 
 3.166667  3.571429 

> 
> #Same Party, White
> #no correction vs. either correction: 
> t.test(above.prej.median$president_dv[above.prej.median$cand_treat==2 & above.prej.median$correction==1],
+        above.prej.median$president_dv[above.prej.median$cand_treat==2 & above.prej.median$correction==2 |
+                                         above.prej.median$cand_treat==2 & above.prej.median$correction==3],na.rm=T,var.equal=F) #p=.02

	Welch Two Sample t-test

data:  above.prej.median$president_dv[above.prej.median$cand_treat ==  and above.prej.median$president_dv[above.prej.median$cand_treat ==     2 & above.prej.median$correction == 1] and     2 & above.prej.median$correction == 2 | above.prej.median$cand_treat == above.prej.median$president_dv[above.prej.median$cand_treat ==  and     2 & above.prej.median$correction == 3]
t = -2.4954, df = 21.804, p-value = 0.02065
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.9841253 -0.1825414
sample estimates:
mean of x mean of y 
 2.666667  3.750000 

> 
> #Other Party, Black
> #no correction vs. either correction: 
> t.test(above.prej.median$president_dv[above.prej.median$cand_treat==3 & above.prej.median$correction==1],
+        above.prej.median$president_dv[above.prej.median$cand_treat==3 & above.prej.median$correction==2 |
+                                         above.prej.median$cand_treat==3 & above.prej.median$correction==3],na.rm=T,var.equal=F) #p=.01

	Welch Two Sample t-test

data:  above.prej.median$president_dv[above.prej.median$cand_treat ==  and above.prej.median$president_dv[above.prej.median$cand_treat ==     3 & above.prej.median$correction == 1] and     3 & above.prej.median$correction == 2 | above.prej.median$cand_treat == above.prej.median$president_dv[above.prej.median$cand_treat ==  and     3 & above.prej.median$correction == 3]
t = -2.7162, df = 26.227, p-value = 0.01153
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.7392186 -0.2411735
sample estimates:
mean of x mean of y 
 1.833333  2.823529 

> 
> #Other Party, White
> #no correction vs. either correction: 
> t.test(above.prej.median$president_dv[above.prej.median$cand_treat==4 & above.prej.median$correction==1],
+        above.prej.median$president_dv[above.prej.median$cand_treat==4 & above.prej.median$correction==2 |
+                                         above.prej.median$cand_treat==4 & above.prej.median$correction==3],na.rm=T,var.equal=F) #p=.08

	Welch Two Sample t-test

data:  above.prej.median$president_dv[above.prej.median$cand_treat ==  and above.prej.median$president_dv[above.prej.median$cand_treat ==     4 & above.prej.median$correction == 1] and     4 & above.prej.median$correction == 2 | above.prej.median$cand_treat == above.prej.median$president_dv[above.prej.median$cand_treat ==  and     4 & above.prej.median$correction == 3]
t = -1.8036, df = 23.376, p-value = 0.0842
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.9533531  0.1328403
sample estimates:
mean of x mean of y 
 1.923077  2.833333 

> 
> 
> # Bottom half of Appendix Table 5B5 (low prejudice participants):
> 
> ##Favorability by type of correction (broken down by party/race type)
> #Same Party, Black
> #no correction vs. either correction: 
> t.test(below.prej.median$favorable_dv[below.prej.median$cand_treat==1 & below.prej.median$correction==1],
+        below.prej.median$favorable_dv[below.prej.median$cand_treat==1 & below.prej.median$correction==2 | 
+                                         below.prej.median$cand_treat==1 & below.prej.median$correction==3],na.rm=T,var.equal=F) #p=.12

	Welch Two Sample t-test

data:  below.prej.median$favorable_dv[below.prej.median$cand_treat ==  and below.prej.median$favorable_dv[below.prej.median$cand_treat ==     1 & below.prej.median$correction == 1] and     1 & below.prej.median$correction == 2 | below.prej.median$cand_treat == below.prej.median$favorable_dv[below.prej.median$cand_treat ==  and     1 & below.prej.median$correction == 3]
t = -1.5941, df = 25.449, p-value = 0.1233
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.8612746  0.2362746
sample estimates:
mean of x mean of y 
   3.5000    4.3125 

> 
> #Same Party, White
> #no correction vs. either correction: 
> t.test(below.prej.median$favorable_dv[below.prej.median$cand_treat==2 & below.prej.median$correction==1], 
+        below.prej.median$favorable_dv[below.prej.median$cand_treat==2 & below.prej.median$correction==2 | 
+                                         below.prej.median$cand_treat==2 & below.prej.median$correction==3],na.rm=T,var.equal=F) #p<.01

	Welch Two Sample t-test

data:  below.prej.median$favorable_dv[below.prej.median$cand_treat ==  and below.prej.median$favorable_dv[below.prej.median$cand_treat ==     2 & below.prej.median$correction == 1] and     2 & below.prej.median$correction == 2 | below.prej.median$cand_treat == below.prej.median$favorable_dv[below.prej.median$cand_treat ==  and     2 & below.prej.median$correction == 3]
t = -3.0121, df = 21.301, p-value = 0.006565
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -2.2314283 -0.4095973
sample estimates:
mean of x mean of y 
 2.846154  4.166667 

> 
> #Other Party, Black
> #no correction vs. either correction: 
> t.test(below.prej.median$favorable_dv[below.prej.median$cand_treat==3 & below.prej.median$correction==1],
+        below.prej.median$favorable_dv[below.prej.median$cand_treat==3 & below.prej.median$correction==2 | 
+                                         below.prej.median$cand_treat==3 & below.prej.median$correction==3],na.rm=T,var.equal=F) #p<.01

	Welch Two Sample t-test

data:  below.prej.median$favorable_dv[below.prej.median$cand_treat ==  and below.prej.median$favorable_dv[below.prej.median$cand_treat ==     3 & below.prej.median$correction == 1] and     3 & below.prej.median$correction == 2 | below.prej.median$cand_treat == below.prej.median$favorable_dv[below.prej.median$cand_treat ==  and     3 & below.prej.median$correction == 3]
t = -3.2797, df = 19.23, p-value = 0.003895
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -2.9114020 -0.6441536
sample estimates:
mean of x mean of y 
 2.222222  4.000000 

> 
> #Other Party, White
> #no correction vs. either correction: 
> t.test(below.prej.median$favorable_dv[below.prej.median$cand_treat==4 & below.prej.median$correction==1],
+        below.prej.median$favorable_dv[below.prej.median$cand_treat==4 & below.prej.median$correction==2 | 
+                                         below.prej.median$cand_treat==4 & below.prej.median$correction==3],na.rm=T,var.equal=F) #p<.01

	Welch Two Sample t-test

data:  below.prej.median$favorable_dv[below.prej.median$cand_treat ==  and below.prej.median$favorable_dv[below.prej.median$cand_treat ==     4 & below.prej.median$correction == 1] and     4 & below.prej.median$correction == 2 | below.prej.median$cand_treat == below.prej.median$favorable_dv[below.prej.median$cand_treat ==  and     4 & below.prej.median$correction == 3]
t = -1.5313, df = 28.579, p-value = 0.1367
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.8472423  0.2660457
sample estimates:
mean of x mean of y 
 2.153846  2.944444 

> 
> 
> ##Vote likelihood by type of correction (broken down by party/race type)
> #Same Party, Black
> #no correction vs. either correction: 
> t.test(below.prej.median$vote_dv[below.prej.median$cand_treat==1 & below.prej.median$correction==1],
+        below.prej.median$vote_dv[below.prej.median$cand_treat==1 & below.prej.median$correction==2 |
+                                    below.prej.median$cand_treat==1 & below.prej.median$correction==3],na.rm=T,var.equal=F) #p=.22

	Welch Two Sample t-test

data:  below.prej.median$vote_dv[below.prej.median$cand_treat == 1 &  and below.prej.median$vote_dv[below.prej.median$cand_treat == 1 &     below.prej.median$correction == 1] and     below.prej.median$correction == 2 | below.prej.median$cand_treat == below.prej.median$vote_dv[below.prej.median$cand_treat == 1 &  and     1 & below.prej.median$correction == 3]
t = -1.2577, df = 25.807, p-value = 0.2198
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.2076678  0.2910012
sample estimates:
mean of x mean of y 
 2.666667  3.125000 

> 
> #Same Party, White
> #no correction vs. either correction: 
> t.test(below.prej.median$vote_dv[below.prej.median$cand_treat==2 & below.prej.median$correction==1],
+        below.prej.median$vote_dv[below.prej.median$cand_treat==2 & below.prej.median$correction==2 |
+                                    below.prej.median$cand_treat==2 & below.prej.median$correction==3],na.rm=T,var.equal=F) #p=.47

	Welch Two Sample t-test

data:  below.prej.median$vote_dv[below.prej.median$cand_treat == 2 &  and below.prej.median$vote_dv[below.prej.median$cand_treat == 2 &     below.prej.median$correction == 1] and     below.prej.median$correction == 2 | below.prej.median$cand_treat == below.prej.median$vote_dv[below.prej.median$cand_treat == 2 &  and     2 & below.prej.median$correction == 3]
t = -0.72656, df = 23.83, p-value = 0.4746
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -0.9929354  0.4760123
sample estimates:
mean of x mean of y 
 2.461538  2.720000 

> 
> #Other Party, Black
> #no correction vs. either correction: 
> t.test(below.prej.median$vote_dv[below.prej.median$cand_treat==3 & below.prej.median$correction==1],
+        below.prej.median$vote_dv[below.prej.median$cand_treat==3 & below.prej.median$correction==2 |
+                                    below.prej.median$cand_treat==3 & below.prej.median$correction==3],na.rm=T,var.equal=F) #p=.29

	Welch Two Sample t-test

data:  below.prej.median$vote_dv[below.prej.median$cand_treat == 3 &  and below.prej.median$vote_dv[below.prej.median$cand_treat == 3 &     below.prej.median$correction == 1] and     below.prej.median$correction == 2 | below.prej.median$cand_treat == below.prej.median$vote_dv[below.prej.median$cand_treat == 3 &  and     3 & below.prej.median$correction == 3]
t = -1.2355, df = 18.045, p-value = 0.2325
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.7888251  0.4638251
sample estimates:
mean of x mean of y 
   1.9000    2.5625 

> 
> #Other Party, White
> #no correction vs. either correction: 
> t.test(below.prej.median$vote_dv[below.prej.median$cand_treat==4 & below.prej.median$correction==1],
+        below.prej.median$vote_dv[below.prej.median$cand_treat==4 & below.prej.median$correction==2 |
+                                    below.prej.median$cand_treat==4 & below.prej.median$correction==3],na.rm=T,var.equal=F) #p=.08

	Welch Two Sample t-test

data:  below.prej.median$vote_dv[below.prej.median$cand_treat == 4 &  and below.prej.median$vote_dv[below.prej.median$cand_treat == 4 &     below.prej.median$correction == 1] and     below.prej.median$correction == 2 | below.prej.median$cand_treat == below.prej.median$vote_dv[below.prej.median$cand_treat == 4 &  and     4 & below.prej.median$correction == 3]
t = 0.029652, df = 25.144, p-value = 0.9766
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -0.8773989  0.9030399
sample estimates:
mean of x mean of y 
 1.846154  1.833333 

> 
> ##Gubernatorial success by type of correction (broken down by party/race type)
> #Same Party, Black
> #no correction vs. either correction: 
> t.test(below.prej.median$govern_dv[below.prej.median$cand_treat==1 & below.prej.median$correction==1],
+        below.prej.median$govern_dv[below.prej.median$cand_treat==1 & below.prej.median$correction==2 |
+                                      below.prej.median$cand_treat==1 & below.prej.median$correction==3],na.rm=T,var.equal=F) #p=.42

	Welch Two Sample t-test

data:  below.prej.median$govern_dv[below.prej.median$cand_treat == 1 &  and below.prej.median$govern_dv[below.prej.median$cand_treat == 1 &     below.prej.median$correction == 1] and     below.prej.median$correction == 2 | below.prej.median$cand_treat == below.prej.median$govern_dv[below.prej.median$cand_treat == 1 &  and     1 & below.prej.median$correction == 3]
t = -0.8278, df = 22.483, p-value = 0.4165
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.3862779  0.5946113
sample estimates:
mean of x mean of y 
 3.666667  4.062500 

> 
> #Same Party, White
> #no correction vs. either correction: 
> t.test(below.prej.median$govern_dv[below.prej.median$cand_treat==2 & below.prej.median$correction==1],
+        below.prej.median$govern_dv[below.prej.median$cand_treat==2 & below.prej.median$correction==2 |
+                                      below.prej.median$cand_treat==2 & below.prej.median$correction==3],na.rm=T,var.equal=F) #p=.20

	Welch Two Sample t-test

data:  below.prej.median$govern_dv[below.prej.median$cand_treat == 2 &  and below.prej.median$govern_dv[below.prej.median$cand_treat == 2 &     below.prej.median$correction == 1] and     below.prej.median$correction == 2 | below.prej.median$cand_treat == below.prej.median$govern_dv[below.prej.median$cand_treat == 2 &  and     2 & below.prej.median$correction == 3]
t = -1.3306, df = 18.321, p-value = 0.1996
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.4784113  0.3309754
sample estimates:
mean of x mean of y 
 3.384615  3.958333 

> 
> #Other Party, Black
> #no correction vs. either correction: 
> t.test(below.prej.median$govern_dv[below.prej.median$cand_treat==3 & below.prej.median$correction==1],
+        below.prej.median$govern_dv[below.prej.median$cand_treat==3 & below.prej.median$correction==2 |
+                                      below.prej.median$cand_treat==3 & below.prej.median$correction==3],na.rm=T,var.equal=F) #p<.01

	Welch Two Sample t-test

data:  below.prej.median$govern_dv[below.prej.median$cand_treat == 3 &  and below.prej.median$govern_dv[below.prej.median$cand_treat == 3 &     below.prej.median$correction == 1] and     below.prej.median$correction == 2 | below.prej.median$cand_treat == below.prej.median$govern_dv[below.prej.median$cand_treat == 3 &  and     3 & below.prej.median$correction == 3]
t = -3.2623, df = 20.422, p-value = 0.003822
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -2.7081932 -0.5973624
sample estimates:
mean of x mean of y 
 2.222222  3.875000 

> 
> #Other Party, White
> #no correction vs. either correction: 
> t.test(below.prej.median$govern_dv[below.prej.median$cand_treat==4 & below.prej.median$correction==1],
+        below.prej.median$govern_dv[below.prej.median$cand_treat==4 & below.prej.median$correction==2 |
+                                      below.prej.median$cand_treat==4 & below.prej.median$correction==3],na.rm=T,var.equal=F) #p=.17

	Welch Two Sample t-test

data:  below.prej.median$govern_dv[below.prej.median$cand_treat == 4 &  and below.prej.median$govern_dv[below.prej.median$cand_treat == 4 &     below.prej.median$correction == 1] and     below.prej.median$correction == 2 | below.prej.median$cand_treat == below.prej.median$govern_dv[below.prej.median$cand_treat == 4 &  and     4 & below.prej.median$correction == 3]
t = -1.3974, df = 28.088, p-value = 0.1732
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.8756141  0.3542466
sample estimates:
mean of x mean of y 
 2.461538  3.222222 

> 
> 
> ##Presidential success by type of correction (broken down by party/race type)
> #no correction vs. either correction: 
> t.test(below.prej.median$president_dv[below.prej.median$cand_treat==1 & below.prej.median$correction==1],
+        below.prej.median$president_dv[below.prej.median$cand_treat==1 & below.prej.median$correction==2 |
+                                         below.prej.median$cand_treat==1 & below.prej.median$correction==3],na.rm=T,var.equal=F) #p=.30

	Welch Two Sample t-test

data:  below.prej.median$president_dv[below.prej.median$cand_treat ==  and below.prej.median$president_dv[below.prej.median$cand_treat ==     1 & below.prej.median$correction == 1] and     1 & below.prej.median$correction == 2 | below.prej.median$cand_treat == below.prej.median$president_dv[below.prej.median$cand_treat ==  and     1 & below.prej.median$correction == 3]
t = -1.0555, df = 19.778, p-value = 0.3039
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.674983  0.549983
sample estimates:
mean of x mean of y 
   3.2500    3.8125 

> 
> #Same Party, White
> #no correction vs. either correction: 
> t.test(below.prej.median$president_dv[below.prej.median$cand_treat==2 & below.prej.median$correction==1],
+        below.prej.median$president_dv[below.prej.median$cand_treat==2 & below.prej.median$correction==2 |
+                                         below.prej.median$cand_treat==2 & below.prej.median$correction==3],na.rm=T,var.equal=F) #p=.05

	Welch Two Sample t-test

data:  below.prej.median$president_dv[below.prej.median$cand_treat ==  and below.prej.median$president_dv[below.prej.median$cand_treat ==     2 & below.prej.median$correction == 1] and     2 & below.prej.median$correction == 2 | below.prej.median$cand_treat == below.prej.median$president_dv[below.prej.median$cand_treat ==  and     2 & below.prej.median$correction == 3]
t = -2.0756, df = 22.513, p-value = 0.04954
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.792925174 -0.001946621
sample estimates:
mean of x mean of y 
 2.769231  3.666667 

> 
> #Other Party, Black
> #no correction vs. either correction: 
> t.test(below.prej.median$president_dv[below.prej.median$cand_treat==3 & below.prej.median$correction==1],
+        below.prej.median$president_dv[below.prej.median$cand_treat==3 & below.prej.median$correction==2 |
+                                         below.prej.median$cand_treat==3 & below.prej.median$correction==3],na.rm=T,var.equal=F) #p<.01

	Welch Two Sample t-test

data:  below.prej.median$president_dv[below.prej.median$cand_treat ==  and below.prej.median$president_dv[below.prej.median$cand_treat ==     3 & below.prej.median$correction == 1] and     3 & below.prej.median$correction == 2 | below.prej.median$cand_treat == below.prej.median$president_dv[below.prej.median$cand_treat ==  and     3 & below.prej.median$correction == 3]
t = -3.4805, df = 19.868, p-value = 0.002377
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -2.5326650 -0.6340017
sample estimates:
mean of x mean of y 
 1.666667  3.250000 

> 
> #Other Party, White
> #no correction vs. either correction: 
> t.test(below.prej.median$president_dv[below.prej.median$cand_treat==4 & below.prej.median$correction==1],
+        below.prej.median$president_dv[below.prej.median$cand_treat==4 & below.prej.median$correction==2 |
+                                         below.prej.median$cand_treat==4 & below.prej.median$correction==3],na.rm=T,var.equal=F) #p=.08

	Welch Two Sample t-test

data:  below.prej.median$president_dv[below.prej.median$cand_treat ==  and below.prej.median$president_dv[below.prej.median$cand_treat ==     4 & below.prej.median$correction == 1] and     4 & below.prej.median$correction == 2 | below.prej.median$cand_treat == below.prej.median$president_dv[below.prej.median$cand_treat ==  and     4 & below.prej.median$correction == 3]
t = -0.69684, df = 24.379, p-value = 0.4925
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.6661496  0.8245206
sample estimates:
mean of x mean of y 
 2.461538  2.882353 

> 
> # Appendix Table 7 (No Differences in Evaluations of Candidates with and without Flag Pins)): See "FlynnKrupnikov_SuitCheck.dta" and "FlynnKrupnikov_SuitCheck.do"
> 
>  
> 